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}\dot{\textbf{x}}(t) = \begin{bmatrix} -2 & -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.]])