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=
|