bundles / scipy latest / scipy / signal / _lti_conversion / ss2tf
function
scipy.signal._lti_conversion:ss2tf
source: build-install/usr/lib/python3.14/site-packages/scipy/signal/_lti_conversion.py:236
Signature
def ss2tf(A, B, C, D, input = 0)Summary
State-space to transfer function.
Extended Summary
A, B, C, D defines a linear state-space system with p inputs, q outputs, and n state variables.
Parameters
A: array_likeState (or system) matrix of shape
(n, n)B: array_likeInput matrix of shape
(n, p)C: array_likeOutput matrix of shape
(q, n)D: array_likeFeedthrough (or feedforward) matrix of shape
(q, p)input: int, optionalFor multiple-input systems, the index of the input to use.
Returns
num: 2-D ndarrayNumerator(s) of the resulting transfer function(s). num has one row for each of the system's outputs. Each row is a sequence representation of the numerator polynomial.
den: 1-D ndarrayDenominator of the resulting transfer function(s). den is a sequence representation of the denominator polynomial.
Notes
Before calculating num and den, the function abcd_normalize is called to convert the parameters A, B, C, D into two-dimensional arrays of the same dtype. The resulting dtype will be based on NumPy's dtype promotion rules, except in the case where each of A, B, C, and D has integer dtype, in which case the resulting dtype will be the default floating point dtype of float64.
The tutorial_signal_state_space_representation section of the user_guide presents the corresponding definitions of continuous-time and disrcete time state space systems.
Examples
Convert the state-space representation: .. math:: \dot{\textbf{x}}(t) = \begin{bmatrix} -2 & -1 \\ 1 & 0 \end{bmatrix} \textbf{x}(t) + \begin{bmatrix} 1 \\ 0 \end{bmatrix} \textbf{u}(t) \\ \textbf{y}(t) = \begin{bmatrix} 1 & 2 \end{bmatrix} \textbf{x}(t) + \begin{bmatrix} 1 \end{bmatrix} \textbf{u}(t)A = [[-2, -1], [1, 0]] B = [[1], [0]] # 2-D column vector C = [[1, 2]] # 2-D row vector D = 1✓
from scipy.signal import ss2tf
✓ss2tf(A, B, C, D)
✗(array([[1., 3., 3.]]), array([1., 2., 1.]))
Aliases
scipy.signal.ss2tf