scipy.signal.ZerosPolesGain¶
- class scipy.signal.ZerosPolesGain(*system, **kwargs)[源代码]¶
线性时间不变系统类,零点,极点,增益形式。
将系统表示为连续或离散时间传递函数 \(H(s)=k \prod_i (s - z[i]) / \prod_j (s - p[j])\) ,在哪里 \(k\) 是不是 gain , \(z\) 是不是 zeros 和 \(p\) 是不是 poles 。
ZerosPolesGain
系统从lti
,分别在dlti
类,具体取决于使用的系统表示形式。- 参数
- *system论据
这个
ZerosPolesGain
类可以用1个或3个参数实例化。下面给出了输入参数的数量及其解释:1:
lti
或dlti
系统: (StateSpace
,TransferFunction
或ZerosPolesGain
)3:ARRAY_LIKE:(零、极、增益)
- DT:浮点,可选
采样时间 [s] 离散时间系统。默认为 None (连续时间)。必须指定为关键字参数,例如,
dt=0.1
。
参见
注意事项
更改不属于
ZerosPolesGain
系统表示形式(如 A , B , C , D 状态空间矩阵)是非常低效的,并且可能导致数值不准确。最好先转换为特定的系统表示。例如,调用sys = sys.to_ss()
在访问/改变A、B、C、D系统矩阵之前。示例
构造传递函数 \(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 )
构造传递函数 \(H(z) = \frac{{5(z - 1)(z - 2)}}{{(z - 3)(z - 4)}}\) 采样时间为0.1秒时:
>>> 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”系统的副本。