DynamicSystems
ParallelConnect
create the equivalent system representation of two or more system objects connected in parallel
Calling Sequence
Parameters
Options
Description
Examples
Compatibility
ParallelConnect(systems, opts)
ParallelConnect(systems, inputconnections, opts)
ParallelConnect(systems, inputconnections, outputconnections, opts)
systems
-
list(System); list of system objects
inputconnections
(optional) listlist or all or none; list of lists of indexes specifying input connections
outputconnections
(optional) listlist or all or none; list of lists of indexes specifying output connections
opts
(optional) equation(s) of the form option = value; specify options for the ParallelConnect 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 ParallelConnect command creates the equivalent system representation of two or more system objects connected in parallel.
Unless inputconnections or outputconnections are specified, all input vectors of each system object are connected together and all output vectors are summed. The returned system has the same number of inputs as each system object and the same number of outputs as each system object. For this reason, when no inputconnections or no outputconnections are specified, each system object must have the same number of inputs or outputs, respectively.
If inputconnections are provided, specific inputs of each system object are connected . For k system objects, each index list contains k indexes. The kth index in a list corresponds to an input in the kth system object. The number of input index lists must not exceed the size of the input vector of the system object with the least number of inputs. If all is specified, all input vectors of each system object are connected together. If none is specified, no inputs are connected together, therefore, the returned system has a number of inputs equal to the sum of all system object inputs.
If outputconnections are provided, specific outputs of each system object are summed. For k system objects, each index list contains k indexes. The kth index in a list corresponds to an output in the kth system object. The number of output index lists must not exceed the size of the output vector of the system object with the least number of outputs. If all is specified, all output vectors of each system object are summed. If none is specified, no outputs are summed, therefore, the returned system has a number of outputs equal to the sum of all system object outputs.
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 ParallelConnect 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: Connect 2 MIMO systems in parallel
n≔2:m≔2:p≔2:
sys1≔StateSpace⁡usesymbols,numinputs=m,numoutputs=p,numstates=n:
sys2≔StateSpace⁡symbols=e,f,g,h,usesymbols,numinputs=m,numoutputs=p,numstates=n:
parallel1≔ParallelConnect⁡sys1,sys2:
PrintSystem⁡parallel1
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,1b1,2b2,1b2,2f1,1f1,2f2,1f2,2c=c1,1c1,2g1,1g1,2c2,1c2,2g2,1g2,2d=d1,1+h1,1d1,2+h1,2d2,1+h2,1d2,2+h2,2
Now, using sys1 and sys2, merge all inputs, but do not sum the outputs.
parallel1b≔ParallelConnect⁡sys1,sys2,all,none:
PrintSystem⁡parallel1b
State Spacecontinuous4 output(s); 2 input(s); 4 state(s)inputvariable=u1⁡t,u2⁡toutputvariable=y1⁡t,y2⁡t,y3⁡t,y4⁡tstatevariable=x1⁡t,x2⁡t,x3⁡t,x4⁡ta=a1,1a1,200a2,1a2,20000e1,1e1,200e2,1e2,2b=b1,1b1,2b2,1b2,2f1,1f1,2f2,1f2,2c=c1,1c1,200c2,1c2,20000g1,1g1,200g2,1g2,2d=d1,1d1,2d2,1d2,2h1,1h1,2h2,1h2,2
Again, using sys1 and sys2, sum all outputs, but do not merge the inputs.
parallel1c≔ParallelConnect⁡sys1,sys2,none,all:
PrintSystem⁡parallel1c
State Spacecontinuous2 output(s); 4 input(s); 4 state(s)inputvariable=u1⁡t,u2⁡t,u3⁡t,u4⁡toutputvariable=y1⁡t,y2⁡tstatevariable=x1⁡t,x2⁡t,x3⁡t,x4⁡ta=a1,1a1,200a2,1a2,20000e1,1e1,200e2,1e2,2b=b1,1b1,200b2,1b2,20000f1,1f1,200f2,1f2,2c=c1,1c1,2g1,1g1,2c2,1c2,2g2,1g2,2d=d1,1d1,2h1,1h1,2d2,1d2,2h2,1h2,2
Example 2: Connect 2 MIMO systems in parallel with the 2nd input of sys1 connected to the 2nd input of sys2, and the 1st output of sys1 summed to the only output of sys2.
sys2b≔StateSpace⁡symbols=q,r,s,t,usesymbols,numinputs=m,numoutputs=p−1,numstates=n:
parallel2≔ParallelConnect⁡sys1,sys2b,2,2,1,1,outputtype=de:
PrintSystem⁡parallel2
Diff. Equationcontinuous2 output(s); 3 input(s)inputvariable=u1⁡t,u2⁡t,u3⁡toutputvariable=y1⁡t,y2⁡tde={[ⅆⅆtx1⁡t=a1,1⁢x1⁡t+a1,2⁢x2⁡t+b1,1⁢u1⁡t+b1,2⁢u2⁡t, ⅆⅆtx2⁡t=a2,1⁢x1⁡t+a2,2⁢x2⁡t+b2,1⁢u1⁡t+b2,2⁢u2⁡t, ⅆⅆtx3⁡t=q1,1⁢x3⁡t+q1,2⁢x4⁡t+r1,2⁢u2⁡t+r1,1⁢u3⁡t, ⅆⅆtx4⁡t=q2,1⁢x3⁡t+q2,2⁢x4⁡t+r2,2⁢u2⁡t+r2,1⁢u3⁡t, y1⁡t={c1,1⁢x1⁡t+c1,2⁢x2⁡t+s1,1⁢x3⁡t+s1,2⁢x4⁡t+d1,1⁢u1⁡t +d1,2+t1,2⁢u2⁡t+t1,1⁢u3⁡t, y2⁡t=c2,1⁢x1⁡t+c2,2⁢x2⁡t+d2,1⁢u1⁡t+d2,2⁢u2⁡t]
Example 3: Connect 3 MIMO systems in parallel with the 2nd, 3rd and 2nd inputs of sys1, sys2 and sys3 respectively connected together, the 3rd, 2nd and 1st inputs of sys1, sys2 and sys3 respectively connected together, and the 1st, 2nd and 3rd outputs of sys1, sys2 and sys3 respectively summed together.
sys1c≔StateSpace⁡symbols=a1,b1,c1,d1,usesymbols,numinputs=m+1,numoutputs=p+1,numstates=n:
sys2c≔StateSpace⁡symbols=a2,b2,c2,d2,usesymbols,numinputs=m+2,numoutputs=p+2,numstates=n:
sys3c≔StateSpace⁡symbols=a3,b3,c3,d3,usesymbols,numinputs=m+2,numoutputs=p+1,numstates=n:
parallel3≔ParallelConnect⁡sys1c,sys2c,sys3c,2,3,2,3,2,1,1,2,3:
PrintSystem⁡parallel3
State Spacecontinuous8 output(s); 7 input(s); 6 state(s)inputvariable=u1⁡t,u2⁡t,u3⁡t,u4⁡t,u5⁡t,u6⁡t,u7⁡toutputvariable=y1⁡t,y2⁡t,y3⁡t,y4⁡t,y5⁡t,y6⁡t,y7⁡t,y8⁡tstatevariable=x1⁡t,x2⁡t,x3⁡t,x4⁡t,x5⁡t,x6⁡ta=a11,1a11,20000a12,1a12,2000000a21,1a21,20000a22,1a22,2000000a31,1a31,20000a32,1a32,2b=b11,1b11,2b11,30000b12,1b12,2b12,300000b21,3b21,2b21,1b21,4000b22,3b22,2b22,1b22,4000b31,2b31,100b31,3b31,40b32,2b32,100b32,3b32,4c=c11,1c11,2c22,1c22,2c33,1c33,2c12,1c12,20000c13,1c13,2000000c21,1c21,20000c23,1c23,20000c24,1c24,2000000c31,1c31,20000c32,1c32,2d=d11,1d11,2+d22,3+d33,2d11,3+d22,2+d33,1d22,1d22,4d33,3d33,4d12,1d12,2d12,30000d13,1d13,2d13,300000d21,3d21,2d21,1d21,4000d23,3d23,2d23,1d23,4000d24,3d24,2d24,1d24,4000d31,2d31,100d31,3d31,40d32,2d32,100d32,3d32,4
Alternately, connect sys1c and sys2c first, and then connect sys3c to obtain the same result.
parallel3i≔ParallelConnect⁡sys1c,sys2c,2,3,3,2,1,2:
parallel3e≔ParallelConnect⁡parallel3i,sys3c,2,2,3,1,1,3:
PrintSystem⁡parallel3e
The DynamicSystems[ParallelConnect] 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[AppendConnect]
DynamicSystems[DiffEquation]
DynamicSystems[FeedbackConnect]
DynamicSystems[PrintSystem]
DynamicSystems[SeriesConnect]
DynamicSystems[StateSpace]
DynamicSystems[SystemConnect]
Download Help Document