scipy.signal.tf2ss

scipy.signal.tf2ss(num, den)[源代码]

将函数传递到状态空间表示。

参数
Num,DENarray_like

表示分子和分母多项式系数的序列,按降序排列。分母至少需要与分子一样长。

退货
A、B、C、Dndarray

系统的状态空间表示,采用控制器规范形式。

示例

转换传递函数:

\[H(S)=\frac{s^2+3s+3}{s^2+2s+1}\]
>>> num = [1, 3, 3]
>>> den = [1, 2, 1]

状态空间表示:

\[ \begin{align}\begin{aligned}\begin{split}\点{\textbf{x}}(T)= \BEGIN{bMatrix}-2&-1\\1\\1&0\end{bMatrix}\textbf{x}(T)+ \BEGIN{bMatrix}1\\0\End{bMatrix}\textbf{u}(T)\\\end{split}\\\textbf{y}(T)=\Begin{bMatrix}1&2\end{bMatrix}\textbf{x}(T)+ \BEGIN{bMatrix}1\End{bMatrix}\textbf{u}(T)\end{aligned}\end{align} \]
>>> from scipy.signal import tf2ss
>>> A, B, C, D = tf2ss(num, den)
>>> A
array([[-2., -1.],
       [ 1.,  0.]])
>>> B
array([[ 1.],
       [ 0.]])
>>> C
array([[ 1.,  2.]])
>>> D
array([[ 1.]])