scipy.signal.

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 系統從 ltidlti 類別繼承了額外的功能,具體取決於使用的系統表示法。

參數:
*systemarguments

ZerosPolesGain 類別可以使用 1 個或 3 個參數實例化。以下說明輸入參數的數量及其解釋

dt: float, 選項性

離散時間系統的取樣時間 [s]。預設為 None (連續時間)。必須指定為關鍵字參數,例如,dt=0.1

註解

變更不屬於 ZerosPolesGain 系統表示形式的屬性 (例如 ABCD 狀態空間矩陣) 非常沒有效率,並可能導致數值不準確。最好先轉換為特定的系統表示形式。例如,在存取/變更 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' 系統的副本。