scipy.signal.
lti#
- class scipy.signal.lti(*system)[source]#
连续时间线性时不变系统基类。
- 参数:
- *system参数
该
lti
类可以用 2、3 或 4 个参数进行实例化。以下给出参数的数量以及创建的相应的连续时间子类2:
TransferFunction
:(分子,分母)3:
ZerosPolesGain
:(零点,极点,增益)4:
StateSpace
:(A、B、C、D)
每个参数可以是数组或序列。
注意事项
lti
实例不会直接存在。相反,lti
会创建其子类的一种实例:StateSpace
,TransferFunction
或ZerosPolesGain
。如果将 (numerator, denominator) 传递给
*system
,那么在分子和分母中,系数应按降幂顺序指定(例如,s^2 + 3s + 5
可表示为[1, 3, 5]
)。若要更改不直接属于当前系统表示形式的属性(例如
zeros
of aStateSpace
系统),这种做法效率很低,而且可能导致数值不精确。最好先转换为特定的系统表示形式。例如,在访问/更改零点、极点或增益之前,可调用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 )
方法