Main Content

append

Group models by appending their inputs and outputs

Syntax

sys = append(sys1,sys2,...,sysN)

Description

sys = append(sys1,sys2,...,sysN) appends the inputs and outputs of the models sys1,...,sysN to form the augmented model sys depicted below.

For systems with transfer functions H1(s), . . . , HN(s), the resulting system sys has the block-diagonal transfer function

[H1(s)000H2(s)000HN(s)]

For state-space models sys1 and sys2 with data (A1B1C1D1) and (A2B2C2D2), append(sys1,sys2) produces the following state-space model:

[x˙1x˙2]=[A100A2][x1x2]+[B100B2][u1u2][y1y2]=[C100C2][x1x2]+[D100D2][u1u2]

Arguments

The input arguments sys1,..., sysN can be model objects s of any type. Regular matrices are also accepted as a representation of static gains, but there should be at least one model in the input list. The models should be either all continuous, or all discrete with the same sample time. When appending models of different types, the resulting type is determined by the precedence rules (see Rules That Determine Model Type for details).

There is no limitation on the number of inputs.

Examples

collapse all

Create a SISO transfer function.

sys1 = tf(1,[1 0]);
size(sys1)
Transfer function with 1 outputs and 1 inputs.

Create a SISO continuous-time state-space model.

sys2 = ss(1,2,3,4);
size(sys2)
State-space model with 1 outputs, 1 inputs, and 1 states.

Append the inputs and outputs of sys1, a SISO static gain system, and sys2. The resulting model should be a 3-input, 3-output state-space model.

sys = append(sys1,10,sys2)
sys =
 
  A = 
       x1  x2
   x1   0   0
   x2   0   1
 
  B = 
       u1  u2  u3
   x1   1   0   0
   x2   0   0   2
 
  C = 
       x1  x2
   y1   1   0
   y2   0   0
   y3   0   3
 
  D = 
       u1  u2  u3
   y1   0   0   0
   y2   0  10   0
   y3   0   0   4
 
Continuous-time state-space model.
size(sys)
State-space model with 3 outputs, 3 inputs, and 2 states.

Version History

Introduced before R2006a