ZerosPolesGain#
- class scipy.signal.ZerosPolesGain(*system, **kwargs)[source]#
零點-極點-增益形式的線性時不變系統類別。
將系統表示為連續或離散時間的傳遞函數 \(H(s)=k \prod_i (s - z[i]) / \prod_j (s - p[j])\),其中 \(k\) 是
增益 (gain)
,\(z\) 是零點 (zeros)
,而 \(p\) 是極點 (poles)
。ZerosPolesGain
系統從lti
和dlti
類別繼承了額外的功能,具體取決於使用的系統表示法。- 參數:
- *systemarguments
ZerosPolesGain
類別可以使用 1 個或 3 個參數實例化。以下說明輸入參數的數量及其解釋1:
lti
或dlti
系統: (StateSpace
,TransferFunction
或ZerosPolesGain
)3: array_like: (zeros, poles, gain)
- dt: float, 選項性
離散時間系統的取樣時間 [s]。預設為 None (連續時間)。必須指定為關鍵字參數,例如,
dt=0.1
。
另請參閱
註解
變更不屬於
ZerosPolesGain
系統表示形式的屬性 (例如 A、B、C、D 狀態空間矩陣) 非常沒有效率,並可能導致數值不準確。最好先轉換為特定的系統表示形式。例如,在存取/變更 A、B、C、D 系統矩陣之前,先呼叫sys = sys.to_ss()
。範例
建構傳遞函數 \(H(s) = \frac{5(s - 1)(s - 2)}{(s - 3)(s - 4)}\)
>>> from scipy import signal
>>> signal.ZerosPolesGain([1, 2], [3, 4], 5) ZerosPolesGainContinuous( array([1, 2]), array([3, 4]), 5, dt: None )
建構取樣時間為 0.1 秒的傳遞函數 \(H(z) = \frac{5(z - 1)(z - 2)}{(z - 3)(z - 4)}\)
>>> signal.ZerosPolesGain([1, 2], [3, 4], 5, dt=0.1) ZerosPolesGainDiscrete( array([1, 2]), array([3, 4]), 5, dt: 0.1 )
- 屬性:
dt
傳回系統的取樣時間,None 代表
lti
系統。gain
ZerosPolesGain
系統的增益。poles
ZerosPolesGain
系統的極點。zeros
ZerosPolesGain
系統的零點。
方法
to_ss
()將系統表示形式轉換為
StateSpace
。to_tf
()將系統表示形式轉換為
TransferFunction
。to_zpk
()傳回目前 'ZerosPolesGain' 系統的副本。