scipy.signal.impulse2

scipy.signal.impulse2(system, X0=None, T=None, N=None, **kwargs)[源代码]

单输入连续时间线性系统的脉冲响应。

参数
systemLTI类的实例或array_like的元组

描述系统。下面给出了元组中的元素数量和解释:

  • 1(实例为 lti )

  • 2(Num,DEN)

  • 3(零、极、增益)

  • 4(A、B、C、D)

X0一维ARRAY_LIKE,可选

状态向量的初始条件。默认值:0(零向量)。

T一维ARRAY_LIKE,可选

定义输入和期望输出的时间步长。如果 T 则该函数将自动生成一组时间样本。

N整型,可选

要计算的时间点数。默认值:100。

kwargs各种类型

其他关键字参数将传递给函数 scipy.signal.lsim2 ,然后将它们传递给 scipy.integrate.odeint ;有关这些参数的信息,请参阅后者的文档。

退货
Tndarray

输出的时间值。

youtndarray

系统的输出响应。

注意事项

解决方案是通过调用 scipy.signal.lsim2 ,它使用微分方程解算器 scipy.integrate.odeint

如果传入(num,den)作为 system ,分子和分母的系数应按指数降序指定(例如 s^2 + 3s + 5 将表示为 [1, 3, 5] )。

0.8.0 新版功能.

示例

计算具有重复根的二阶系统的脉冲响应: x''(t) + 2*x'(t) + x(t) = u(t)

>>> from scipy import signal
>>> system = ([1.0], [1.0, 2.0, 1.0])
>>> t, y = signal.impulse2(system)
>>> import matplotlib.pyplot as plt
>>> plt.plot(t, y)
../../_images/scipy-signal-impulse2-1.png