control.matlab.series
- control.matlab.series(sys1, sys2[, ..., sysn])[source]
Series connection of I/O systems.
Generates a new system
[sysn * ... *] sys2 * sys1.- Parameters:
- sys1, sys2, …, sysnscalar, array, or
InputOutputSystem I/O systems to combine.
- sys1, sys2, …, sysnscalar, array, or
- Returns:
- out
InputOutputSystem Series interconnection of the systems.
- out
- Other Parameters:
- inputs, outputsstr, or list of str, optional
List of strings that name the individual signals. If not given, signal names will be of the form ‘s[i]’ (where ‘s’ is one of ‘u, or ‘y’). See
InputOutputSystemfor more information.- statesstr, or list of str, optional
List of names for system states. If not given, state names will be of the form ‘x[i]’ for interconnections of linear systems or ‘<subsys_name>.<state_name>’ for interconnected nonlinear systems.
- namestring, optional
System name (used for specifying signals). If unspecified, a generic name ‘sys[id]’ is generated with a unique integer id.
- Raises:
- ValueError
If
sys2.ninputsdoes not equalsys1.noutputsor ifsys1.dtis not compatible withsys2.dt.
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 ofsys1unless a more general type is required based on type type ofsys2.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)