DynamicSystems
SeriesConnect
create the equivalent system representation of two or more system objects connected in series
Calling Sequence
Parameters
Options
Description
Examples
Compatibility
SeriesConnect(systems, indexes, opts)
systems
-
list(System); list of system objects
indexes
(optional) list(list); list of lists specifying the indexes of the outputs and inputs to be connected in two consecutive systems in series, i.e. [[outputs sys 1], [inputs sys 2], [outputs sys 2],..., [inputs sys n]].
opts
(optional) equation(s) of the form option = value; specify options for the SeriesConnect 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 SeriesConnect command creates the equivalent system representation of two or more system objects connected in series.
The systems are connected in series in the order specified, matching the outputs of the previous system to the inputs of the next system unless index lists are specified.
If indexes is provided, specific outputs of the previous system are connected to specific inputs of the next system in the order given by the indexes in the lists.
When two systems are specified, the first list contains the indexes of the outputs of the first system, and the second list contains the indexes of the inputs of the second system. For subsequent series connections, the same rule applies. For n systems, the necessary number of index lists is (2n - 2).
The returned system has the same number of inputs as the first system specified, and the same number of outputs as the last system specified.
The systems must be either all continuous or all discrete with the same sampling times.
The returned system type is determined by the type of the input systems, unless the outputtype option is used. If different types of system objects are passed, the returned system type is determined based on a precedence list defined as tf < coeff < zpk < ss < de. For example, if a ss and tf system are supplied, the output will be an ss system.
with⁡DynamicSystems:
Example 1: SISO series connection
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:
series1≔SeriesConnect⁡sys1,sys2:
PrintSystem⁡series1
State Spacecontinuous1 output(s); 1 input(s); 4 state(s)inputvariable=u1⁡toutputvariable=y1⁡tstatevariable=x1⁡t,x2⁡t,x3⁡t,x4⁡ta=a1,1a1,200a2,1a2,200f1,1⁢c1,1f1,1⁢c1,2e1,1e1,2f2,1⁢c1,1f2,1⁢c1,2e2,1e2,2b=b1,1b2,1f1,1⁢d1,1f2,1⁢d1,1c=h1,1⁢c1,1h1,1⁢c1,2g1,1g1,2d=h1,1⁢d1,1
Connect three transfer functions in series
series1tf≔SeriesConnect⁡TransferFunction⁡ss3+b⁢s2+c⁢s+d,TransferFunction⁡1τ⁢s+a,TransferFunction⁡Ks2:
PrintSystem⁡series1tf
Transfer Functioncontinuous1 output(s); 1 input(s)inputvariable=u1⁡soutputvariable=y1⁡stf1,1=Kτ⁢s5+τ⁢b+a⁢s4+a⁢b+τ⁢c⁢s3+a⁢c+τ⁢d⁢s2+a⁢d⁢s
Example 2: MIMO series connection
sys1b≔StateSpace⁡symbols=i,j,k,l,usesymbols,numinputs=m,numoutputs=p+1,numstates=n:
sys2b≔StateSpace⁡symbols=o,q,r,s,usesymbols,numinputs=m+1,numoutputs=p,numstates=n:
series2≔SeriesConnect⁡sys1b,sys2b,1,2,1,2:
PrintSystem⁡series2
State Spacecontinuous1 output(s); 1 input(s); 4 state(s)inputvariable=u1⁡toutputvariable=y1⁡tstatevariable=x1⁡t,x2⁡t,x3⁡t,x4⁡ta=i1,1i1,200i2,1i2,200q1,1⁢k1,1+q1,2⁢k2,1q1,1⁢k1,2+q1,2⁢k2,2o1,1o1,2q2,1⁢k1,1+q2,2⁢k2,1q2,1⁢k1,2+q2,2⁢k2,2o2,1o2,2b=j1,1j2,1q1,1⁢l1,1+q1,2⁢l2,1q2,1⁢l1,1+q2,2⁢l2,1c=s1,1⁢k1,1+s1,2⁢k2,1s1,1⁢k1,2+s1,2⁢k2,2r1,1r1,2d=s1,1⁢l1,1+s1,2⁢l2,1
Example 3: Series connection of two systems with 2nd output of 1st system to 1st input of 2nd system
sys1c≔StateSpace⁡symbols=t,v,w,z,usesymbols,numinputs=m+1,numoutputs=p+1,numstates=n:
series3≔SeriesConnect⁡sys1c,sys2b,2,1,outputtype=de:
PrintSystem⁡series3
Diff. Equationcontinuous1 output(s); 2 input(s)inputvariable=u1⁡t,u2⁡toutputvariable=y1⁡tde={[ⅆⅆtx1⁡t=t1,1⁢x1⁡t+t1,2⁢x2⁡t+v1,1⁢u1⁡t+v1,2⁢u2⁡t, ⅆⅆtx2⁡t=t2,1⁢x1⁡t+t2,2⁢x2⁡t+v2,1⁢u1⁡t+v2,2⁢u2⁡t, ⅆⅆtx3⁡t={q1,1⁢w2,1⁢x1⁡t+q1,1⁢w2,2⁢x2⁡t+o1,1⁢x3⁡t+o1,2⁢x4⁡t +q1,1⁢z2,1⁢u1⁡t+q1,1⁢z2,2⁢u2⁡t, ⅆⅆtx4⁡t={q2,1⁢w2,1⁢x1⁡t+q2,1⁢w2,2⁢x2⁡t+o2,1⁢x3⁡t+o2,2⁢x4⁡t +q2,1⁢z2,1⁢u1⁡t+q2,1⁢z2,2⁢u2⁡t, y1⁡t={s1,1⁢w2,1⁢x1⁡t+s1,1⁢w2,2⁢x2⁡t+r1,1⁢x3⁡t+r1,2⁢x4⁡t +s1,1⁢z2,1⁢u1⁡t+s1,1⁢z2,2⁢u2⁡t]
Example 4: Series connection of two systems with 1st output of 1st system to 2nd input of 2nd system and 2nd output of 1st system to 1st input of 2nd system
series4≔SeriesConnect⁡sys1c,sys2b,1,2,2,1:
PrintSystem⁡series4
State Spacecontinuous1 output(s); 2 input(s); 4 state(s)inputvariable=u1⁡t,u2⁡toutputvariable=y1⁡tstatevariable=x1⁡t,x2⁡t,x3⁡t,x4⁡ta=t1,1t1,200t2,1t2,200q1,1⁢w2,1+q1,2⁢w1,1q1,1⁢w2,2+q1,2⁢w1,2o1,1o1,2q2,1⁢w2,1+q2,2⁢w1,1q2,1⁢w2,2+q2,2⁢w1,2o2,1o2,2b=v1,1v1,2v2,1v2,2q1,1⁢z2,1+q1,2⁢z1,1q1,1⁢z2,2+q1,2⁢z1,2q2,1⁢z2,1+q2,2⁢z1,1q2,1⁢z2,2+q2,2⁢z1,2c=s1,1⁢w2,1+s1,2⁢w1,1s1,1⁢w2,2+s1,2⁢w1,2r1,1r1,2d=s1,1⁢z2,1+s1,2⁢z1,1s1,1⁢z2,2+s1,2⁢z1,2
Example 5: Series connection of three systems as shown in the figure.
series5≔SeriesConnect⁡sys1c,sys2b,sys1b,1,2,2,1,1,1:
PrintSystem⁡series5
State Spacecontinuous2 output(s); 2 input(s); 6 state(s)inputvariable=u1⁡t,u2⁡toutputvariable=y1⁡t,y2⁡tstatevariable=x1⁡t,x2⁡t,x3⁡t,x4⁡t,x5⁡t,x6⁡ta=t1,1t1,20000t2,1t2,20000q1,1⁢w2,1+q1,2⁢w1,1q1,1⁢w2,2+q1,2⁢w1,2o1,1o1,200q2,1⁢w2,1+q2,2⁢w1,1q2,1⁢w2,2+q2,2⁢w1,2o2,1o2,200j1,1⁢s1,1⁢w2,1+j1,1⁢s1,2⁢w1,1j1,1⁢s1,1⁢w2,2+j1,1⁢s1,2⁢w1,2j1,1⁢r1,1j1,1⁢r1,2i1,1i1,2j2,1⁢s1,1⁢w2,1+j2,1⁢s1,2⁢w1,1j2,1⁢s1,1⁢w2,2+j2,1⁢s1,2⁢w1,2j2,1⁢r1,1j2,1⁢r1,2i2,1i2,2b=v1,1v1,2v2,1v2,2q1,1⁢z2,1+q1,2⁢z1,1q1,1⁢z2,2+q1,2⁢z1,2q2,1⁢z2,1+q2,2⁢z1,1q2,1⁢z2,2+q2,2⁢z1,2j1,1⁢s1,1⁢z2,1+j1,1⁢s1,2⁢z1,1j1,1⁢s1,1⁢z2,2+j1,1⁢s1,2⁢z1,2j2,1⁢s1,1⁢z2,1+j2,1⁢s1,2⁢z1,1j2,1⁢s1,1⁢z2,2+j2,1⁢s1,2⁢z1,2c=l1,1⁢s1,1⁢w2,1+l1,1⁢s1,2⁢w1,1l1,1⁢s1,1⁢w2,2+l1,1⁢s1,2⁢w1,2l1,1⁢r1,1l1,1⁢r1,2k1,1k1,2l2,1⁢s1,1⁢w2,1+l2,1⁢s1,2⁢w1,1l2,1⁢s1,1⁢w2,2+l2,1⁢s1,2⁢w1,2l2,1⁢r1,1l2,1⁢r1,2k2,1k2,2d=l1,1⁢s1,1⁢z2,1+l1,1⁢s1,2⁢z1,1l1,1⁢s1,1⁢z2,2+l1,1⁢s1,2⁢z1,2l2,1⁢s1,1⁢z2,1+l2,1⁢s1,2⁢z1,1l2,1⁢s1,1⁢z2,2+l2,1⁢s1,2⁢z1,2
Alternately, using the series4 result:
series5e≔SeriesConnect⁡series4,sys1b:
PrintSystem⁡series5e
State Spacecontinuous2 output(s); 2 input(s); 6 state(s)inputvariable=u1⁡t,u2⁡toutputvariable=y1⁡t,y2⁡tstatevariable=x1⁡t,x2⁡t,x3⁡t,x4⁡t,x5⁡t,x6⁡ta=t1,1t1,20000t2,1t2,20000q1,1⁢w2,1+q1,2⁢w1,1q1,1⁢w2,2+q1,2⁢w1,2o1,1o1,200q2,1⁢w2,1+q2,2⁢w1,1q2,1⁢w2,2+q2,2⁢w1,2o2,1o2,200j1,1⁢s1,1⁢w2,1+s1,2⁢w1,1j1,1⁢s1,1⁢w2,2+s1,2⁢w1,2j1,1⁢r1,1j1,1⁢r1,2i1,1i1,2j2,1⁢s1,1⁢w2,1+s1,2⁢w1,1j2,1⁢s1,1⁢w2,2+s1,2⁢w1,2j2,1⁢r1,1j2,1⁢r1,2i2,1i2,2b=v1,1v1,2v2,1v2,2q1,1⁢z2,1+q1,2⁢z1,1q1,1⁢z2,2+q1,2⁢z1,2q2,1⁢z2,1+q2,2⁢z1,1q2,1⁢z2,2+q2,2⁢z1,2j1,1⁢s1,1⁢z2,1+s1,2⁢z1,1j1,1⁢s1,1⁢z2,2+s1,2⁢z1,2j2,1⁢s1,1⁢z2,1+s1,2⁢z1,1j2,1⁢s1,1⁢z2,2+s1,2⁢z1,2c=l1,1⁢s1,1⁢w2,1+s1,2⁢w1,1l1,1⁢s1,1⁢w2,2+s1,2⁢w1,2l1,1⁢r1,1l1,1⁢r1,2k1,1k1,2l2,1⁢s1,1⁢w2,1+s1,2⁢w1,1l2,1⁢s1,1⁢w2,2+s1,2⁢w1,2l2,1⁢r1,1l2,1⁢r1,2k2,1k2,2d=l1,1⁢s1,1⁢z2,1+s1,2⁢z1,1l1,1⁢s1,1⁢z2,2+s1,2⁢z1,2l2,1⁢s1,1⁢z2,1+s1,2⁢z1,1l2,1⁢s1,1⁢z2,2+s1,2⁢z1,2
The DynamicSystems[SeriesConnect] 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[ParallelConnect]
DynamicSystems[PrintSystem]
DynamicSystems[StateSpace]
DynamicSystems[SystemConnect]
Download Help Document