lti#
- class scipy.signal.lti(*system)[原始碼]#
連續時間線性時不變系統基底類別。
- 參數:
- *system引數
lti
類別可以使用 2、3 或 4 個引數來實例化。以下說明引數的數量以及建立的對應連續時間子類別2:
TransferFunction
: (分子, 分母)3:
ZerosPolesGain
: (零點, 極點, 增益)4:
StateSpace
: (A, B, C, D)
每個引數可以是陣列或序列。
另請參閱
註解
lti
實例不會直接存在。相反地,lti
會建立其子類別之一的實例:StateSpace
、TransferFunction
或ZerosPolesGain
。如果為
*system
傳入 (分子, 分母),則分子和分母的係數都應以指數遞減的順序指定 (例如,s^2 + 3s + 5
將表示為[1, 3, 5]
)。變更不直接屬於目前系統表示形式的屬性值 (例如
zeros
of aStateSpace
system) 非常沒有效率,並可能導致數值不準確。最好先轉換為特定的系統表示形式。例如,在存取/變更零點、極點或增益之前,先呼叫sys = sys.to_zpk()
。範例
>>> from scipy import signal
>>> signal.lti(1, 2, 3, 4) StateSpaceContinuous( array([[1]]), array([[2]]), array([[3]]), array([[4]]), dt: None )
建構轉移函數 \(H(s) = \frac{5(s - 1)(s - 2)}{(s - 3)(s - 4)}\)
>>> signal.lti([1, 2], [3, 4], 5) ZerosPolesGainContinuous( array([1, 2]), array([3, 4]), 5, dt: None )
建構轉移函數 \(H(s) = \frac{3s + 4}{1s + 2}\)
>>> signal.lti([3, 4], [1, 2]) TransferFunctionContinuous( array([3., 4.]), array([1., 2.]), dt: None )
方法
bode
([w, n])計算連續時間系統的波德圖大小和相位資料。
freqresp
([w, n])計算連續時間系統的頻率響應。
impulse
([X0, T, N])傳回連續時間系統的脈衝響應。
output
(U, T[, X0])傳回連續時間系統對輸入 U 的響應。
step
([X0, T, N])傳回連續時間系統的步階響應。
to_discrete
(dt[, method, alpha])傳回目前系統的離散化版本。