scipy.signal.
ss2tf#
- scipy.signal.ss2tf(A, B, C, D, input=0)[源代码][源代码]#
状态空间到传递函数。
A, B, C, D 定义了一个具有 p 个输入、q 个输出和 n 个状态变量的线性状态空间系统。
- 参数:
- Aarray_like
状态(或系统)矩阵,形状为
(n, n)
- Barray_like
形状为
(n, p)
的输入矩阵- Carray_like
输出形状为
(q, n)
的矩阵- Darray_like
前馈矩阵,形状为
(q, p)
- 输入int, 可选
对于多输入系统,使用的输入索引。
- 返回:
- num2-D ndarray
结果传递函数(s)的分子。num 对于系统的每个输出有一行。每一行是分子多项式的序列表示。
- den一维 ndarray
结果传递函数(s)的分母。den 是分母多项式的序列表示。
示例
转换状态空间表示:
\[\begin{split}\\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)\end{split}\]>>> A = [[-2, -1], [1, 0]] >>> B = [[1], [0]] # 2-D column vector >>> C = [[1, 2]] # 2-D row vector >>> D = 1
到传递函数:
\[H(s) = \frac{s^2 + 3s + 3}{s^2 + 2s + 1}\]>>> from scipy.signal import ss2tf >>> ss2tf(A, B, C, D) (array([[1., 3., 3.]]), array([ 1., 2., 1.]))