control.matlab.series

control.matlab.series(sys1, sys2[, ..., sysn])[source]

Return the series connection (sysn * … *) sys2 * sys1.

Parameters
  • sys1 (scalar, array, or InputOutputSystem) – I/O systems to combine.

  • sys2 (scalar, array, or InputOutputSystem) – I/O systems to combine.

  • ... (scalar, array, or InputOutputSystem) – I/O systems to combine.

  • sysn (scalar, array, or InputOutputSystem) – I/O systems to combine.

Returns

out – Series interconnection of the systems.

Return type

scalar, array, or InputOutputSystem

Raises

ValueError – if sys2.ninputs does not equal sys1.noutputs if sys1.dt is not compatible with sys2.dt

See also

append, feedback, interconnect, negate, parallel

Notes

This function is a wrapper for the __mul__ function in the appropriate NonlinearIOSystem, StateSpace, TransferFunction, or other I/O system class. The output type is the type of sys1 unless a more general type is required based on type type of sys2.

If both systems have a defined timebase (dt = 0 for continuous time, dt > 0 for discrete time), then the timebase for both systems must match. If only one of the system has a timebase, the return timebase will be set to match it.

Examples

>>> G1 = ct.rss(3)
>>> G2 = ct.rss(4)
>>> G = ct.series(G1, G2) # Same as sys3 = sys2 * sys1
>>> G.ninputs, G.noutputs, G.nstates
(1, 1, 7)
>>> G1 = ct.rss(2, inputs=2, outputs=3)
>>> G2 = ct.rss(3, inputs=3, outputs=1)
>>> G = ct.series(G1, G2) # Same as sys3 = sys2 * sys1
>>> G.ninputs, G.noutputs, G.nstates
(2, 1, 5)