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)