scipy.signal.

ss2tf#

scipy.signal.ss2tf(A, B, C, D, input=0)[source]#

狀態空間到轉換函數。

A、B、C、D 定義了一個具有 p 個輸入、q 個輸出和 n 個狀態變數的線性狀態空間系統。

參數:
A類陣列

形狀為 (n, n) 的狀態(或系統)矩陣

B類陣列

形狀為 (n, p) 的輸入矩陣

C類陣列

形狀為 (q, n) 的輸出矩陣

D類陣列

形狀為 (q, p) 的前饋(或前向饋送)矩陣

input整數,可選

對於多輸入系統,要使用的輸入的索引。

返回:
num2-D ndarray

結果轉換函數的分子。num 的每一列對應系統的一個輸出。每一列是分子多項式的序列表示。

den1-D ndarray

結果轉換函數的分母。den 是分母多項式的序列表示。

範例

轉換狀態空間表示式

\[ \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} \]
>>> 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.]))