StateSpace#
- class scipy.signal.StateSpace(*system, **kwargs)[source]#
- Linear Time Invariant system in state-space form. - Represents the system as the continuous-time, first order differential equation \(\dot{x} = A x + B u\) or the discrete-time difference equation \(x[k+1] = A x[k] + B u[k]\). - StateSpacesystems inherit additional functionality from the- lti, respectively the- dlticlasses, depending on which system representation is used.- Parameters:
- *system: arguments
- The - StateSpaceclass can be instantiated with 1 or 4 arguments. The following gives the number of input arguments and their interpretation:- 1: - ltior- dltisystem: (- StateSpace,- TransferFunctionor- ZerosPolesGain)
- 4: array_like: (A, B, C, D) 
 
- dt: float, optional
- Sampling time [s] of the discrete-time systems. Defaults to None (continuous-time). Must be specified as a keyword argument, for example, - dt=0.1.
 
 - See also - Notes - Changing the value of properties that are not part of the - StateSpacesystem representation (such as- zerosor- poles) is very inefficient and may lead to numerical inaccuracies. It is better to convert to the specific system representation first. For example, call- sys = sys.to_zpk()before accessing/changing the zeros, poles or gain.- Examples - >>> from scipy import signal >>> import numpy as np >>> a = np.array([[0, 1], [0, 0]]) >>> b = np.array([[0], [1]]) >>> c = np.array([[1, 0]]) >>> d = np.array([[0]]) - >>> sys = signal.StateSpace(a, b, c, d) >>> print(sys) StateSpaceContinuous( array([[0, 1], [0, 0]]), array([[0], [1]]), array([[1, 0]]), array([[0]]), dt: None ) - >>> sys.to_discrete(0.1) StateSpaceDiscrete( array([[1. , 0.1], [0. , 1. ]]), array([[0.005], [0.1 ]]), array([[1, 0]]), array([[0]]), dt: 0.1 ) - >>> a = np.array([[1, 0.1], [0, 1]]) >>> b = np.array([[0.005], [0.1]]) - >>> signal.StateSpace(a, b, c, d, dt=0.1) StateSpaceDiscrete( array([[1. , 0.1], [0. , 1. ]]), array([[0.005], [0.1 ]]), array([[1, 0]]), array([[0]]), dt: 0.1 ) - Attributes:
- A
- State matrix of the - StateSpacesystem.
- B
- Input matrix of the - StateSpacesystem.
- C
- Output matrix of the - StateSpacesystem.
- D
- Feedthrough matrix of the - StateSpacesystem.
- dt
- Return the sampling time of the system, None for - ltisystems.
- poles
- Poles of the system. 
- zeros
- Zeros of the system. 
 
 - Methods - __mul__(other)- Post-multiply another system or a scalar - to_ss()- Return a copy of the current - StateSpacesystem.- to_tf(**kwargs)- Convert system representation to - TransferFunction.- to_zpk(**kwargs)- Convert system representation to - ZerosPolesGain.