Documentation /  Analog Insydes /  Reference Manual /  Circuit and DAEObject Manipulation /

UpdateDesignPointShortenSymbols

3.6.15 MatchSymbols

Command structure of MatchSymbols.

Given an expression expr or a DAEObject dae, MatchSymbols replaces all symbols which belong to a given matching group matchgroups by a common symbol and returns a new expression or DAEObject, respectively. The matching groups must be specified as lists of the form: {, , , matchsuffix}.

Please note that the function pattern for equations uses the design-point information stored in the DAEObject to validate the matching specifications.

MatchSymbols has the following options:

Options for MatchSymbols.

See also: ShortenSymbols.

Options Description

DesignPoint

With DesignPoint -> { -> , } you can overwrite the design point given in the DAEObject (see also CircuitEquations in Section 3.5.1). The default setting is DesignPoint -> Automatic, which means to use the design point given in the DAEObject.

Tolerance

Tolerance -> tol specifies the maximum relative deviation of the values of the symbols in a matching group from the group's mean value.

Please note that the option Tolerance is neglected if the DAEObject contains no design-point information.

Examples

Load Analog Insydes.

In[1]:= <<AnalogInsydes`

Define netlist.

In[2]:= net =
Netlist[
{V0, {1, 0}, 1},
{R1, {1, 2}, Symbolic -> R1, Value -> 10.},
{R2, {2, 3}, Symbolic -> R2, Value -> 10.},
{R3, {3, out}, Symbolic -> R3, Value -> 10.},
{RL, {out, 0}, Load}
]

Out[2]=

Set up equations.

In[3]:= dae = CircuitEquations[net, ElementValues -> Symbolic];
DisplayForm[dae]

Out[4]//DisplayForm=

Compute voltage transfer function.

In[4]:= vout = V$out /. First[Solve[dae]]

Out[5]=

Match symbols of resistors R1, R2, and R3.

In[5]:= MatchSymbols[vout, {"R*", R}]

Out[6]=

Match symbols of resistors in the DAEObject.

In[6]:= daematch = MatchSymbols[dae, {"R*", R}];
DisplayForm[daematch]

Out[8]//DisplayForm=

Compute matched voltage transfer function.

In[7]:= V$out /. First[Solve[daematch]]

Out[9]=

Modify values of resistors R2 and R3.

In[8]:= daenew = UpdateDesignPoint[dae, {R2 -> 15., R3 -> 20.}]

Out[10]=

Match symbols of resistors of the modified DAEObject.

In[9]:= MatchSymbols[daenew, {"R*", R}] // DisplayForm

Out[11]//DisplayForm=

UpdateDesignPointShortenSymbols