DynamicSystems
AppendConnect
create the equivalent system representation of two or more system objects combined by appending their inputs and outputs
Calling Sequence
Parameters
Options
Description
Examples
Compatibility
AppendConnect(systems, indexes, opts)
systems
-
list(System); list of system objects
indexes
(optional) list(set(posint) or 'all' or 'none'); list of sets specifying the indexes of the inputs and outputs from each system object to be kept in the returned system.
opts
(optional) equation(s) of the form option = value; specify options for the AppendConnect command
outputtype = tf, coeff, zpk, ss, or de
Specifies the subtype of the returned system object. The default return type is based on the type of the system objects specified in the systems parameter. See the Description section for more details on the return type.
merge = keep, evaluate, or replace
Specifies how parameters from different systems are merged. The default is keep.
keep: keep the original parameters. The value for a parameter is the value assigned by the first system that defines it.
evaluate: replace all parameters in the systems with their assigned values.
replace: replace each parameter in a system with a distinct parameter created by appending an index from the param_indices options. For example, the parameter P of the first system becomes P1.
indices = list
Used when merge is replace. The k-th element of the list is appended, as an index, to each parameter name of the k-th system. The number of elements must match the number of systems. The default is the positive integers, with 1 corresponding to the first subsystem.
The AppendConnect command creates the equivalent system representation of two or more system objects appended such that each system object's inputs and outputs are exposed directly to the outside world.
The systems are appended in the order specified. The returned system has a number of inputs equal to the sum of all system object inputs, and a number of outputs equal to the sum of all system object outputs, unless index sets are specified.
If index sets are provided, specific inputs and outputs of each system are selected for the returned system. For n system objects, 2n index sets can be provided. The first pair of sets in the specified list are the inputs and outputs of the first system, in that order. The same rule applies for subsequent set pairs, i.e. [{inputs sys 1}, {outputs sys 1}, {inputs sys 2}, {outputs sys 2}, ..., {inputs sys n}, {outputs sys n}].
The system objects must be either all continuous or all discrete with the same sampling times.
The returned system type is the same as the input system type, unless the outputtype option is used, or the input is an ae system type.
In the specific case when the system parameter is an algebraic equation (ae) and no option is specified, the AppendConnect command returns a system object in state space form by default. If the algebraic equation system does not have a state space representation, an error is returned. For details on algebraic equation object support by the DynamicSystems package, see DynamicSystems[AlgEquation].
with⁡DynamicSystems:
Example 1: Append 2 SISO systems
n≔2:m≔1:p≔1:
sys1≔StateSpace⁡usesymbols,numinputs=m,numoutputs=p,numstates=n:
sys2≔StateSpace⁡symbols=e,f,g,h,usesymbols,numinputs=m,numoutputs=p,numstates=n:
append1≔AppendConnect⁡sys1,sys2:
PrintSystem⁡append1
State Spacecontinuous2 output(s); 2 input(s); 4 state(s)inputvariable=u1⁡t,u2⁡toutputvariable=y1⁡t,y2⁡tstatevariable=x1⁡t,x2⁡t,x3⁡t,x4⁡ta=a1,1a1,200a2,1a2,20000e1,1e1,200e2,1e2,2b=b1,10b2,100f1,10f2,1c=c1,1c1,20000g1,1g1,2d=d1,100h1,1
Example 2: Append 2 MIMO systems with select inputs and outputs
sys1b≔StateSpace⁡symbols=i,j,k,l,usesymbols,numinputs=m,numoutputs=p+1,numstates=n:
sys2b≔StateSpace⁡symbols=q,r,s,t,usesymbols,numinputs=m+1,numoutputs=p,numstates=n:
append2≔AppendConnect⁡sys1b,sys2b,1,2,2,1:
PrintSystem⁡append2
State Spacecontinuous2 output(s); 2 input(s); 4 state(s)inputvariable=u1⁡t,u2⁡toutputvariable=y1⁡t,y2⁡tstatevariable=x1⁡t,x2⁡t,x3⁡t,x4⁡ta=i1,1i1,200i2,1i2,20000q1,1q1,200q2,1q2,2b=j1,10j2,100r1,20r2,2c=k2,1k2,20000s1,1s1,2d=l2,100t1,2
Example 3: Append 3 MIMO systems with select inputs and outputs and differential equation output
append3≔AppendConnect⁡sys1b,sys2b,sys1b,all,1,2,all,1,1,outputtype=de:
PrintSystem⁡append3
Diff. Equationcontinuous3 output(s); 3 input(s)inputvariable=u1⁡t,u2⁡t,u3⁡toutputvariable=y1⁡t,y2⁡t,y3⁡tde={[ⅆⅆtx1⁡t=i1,1⁢x1⁡t+i1,2⁢x2⁡t+j1,1⁢u1⁡t, ⅆⅆtx2⁡t=i2,1⁢x1⁡t+i2,2⁢x2⁡t+j2,1⁢u1⁡t, ⅆⅆtx3⁡t=q1,1⁢x3⁡t+q1,2⁢x4⁡t+r1,2⁢u2⁡t, ⅆⅆtx4⁡t=q2,1⁢x3⁡t+q2,2⁢x4⁡t+r2,2⁢u2⁡t, ⅆⅆtx5⁡t=i1,1⁢x5⁡t+i1,2⁢x6⁡t+j1,1⁢u3⁡t, ⅆⅆtx6⁡t=i2,1⁢x5⁡t+i2,2⁢x6⁡t+j2,1⁢u3⁡t, y1⁡t=k1,1⁢x1⁡t+k1,2⁢x2⁡t+l1,1⁢u1⁡t, y2⁡t=s1,1⁢x3⁡t+s1,2⁢x4⁡t+t1,2⁢u2⁡t, y3⁡t=k1,1⁢x5⁡t+k1,2⁢x6⁡t+l1,1⁢u3⁡t]
Example 4: Append 4 systems. Extract 2nd input of 2nd system.
append4≔AppendConnect⁡sys1b,sys2b,sys1,sys2,all,all,2:
PrintSystem⁡append4
State Spacecontinuous5 output(s); 4 input(s); 8 state(s)inputvariable=u1⁡t,u2⁡t,u3⁡t,u4⁡toutputvariable=y1⁡t,y2⁡t,y3⁡t,y4⁡t,y5⁡tstatevariable=x1⁡t,x2⁡t,x3⁡t,x4⁡t,x5⁡t,x6⁡t,x7⁡t,x8⁡ta=i1,1i1,2000000i2,1i2,200000000q1,1q1,2000000q2,1q2,200000000a1,1a1,2000000a2,1a2,200000000e1,1e1,2000000e2,1e2,2b=j1,1000j2,10000r1,2000r2,20000b1,1000b2,10000f1,1000f2,1c=k1,1k1,2000000k2,1k2,200000000s1,1s1,200000000c1,1c1,200000000g1,1g1,2d=l1,1000l2,10000t1,20000d1,10000h1,1
The DynamicSystems[AppendConnect] command was introduced in Maple 18.
For more information on Maple 18 changes, see Updates in Maple 18.
See Also
Description of the Model of a Linear System Object
DynamicSystems[AlgEquation]
DynamicSystems[DiffEquation]
DynamicSystems[FeedbackConnect]
DynamicSystems[ParallelConnect]
DynamicSystems[PrintSystem]
DynamicSystems[SeriesConnect]
DynamicSystems[StateSpace]
DynamicSystems[SystemConnect]
Download Help Document