当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy signal.impulse2用法及代码示例


本文简要介绍 python 语言中 scipy.signal.impulse2 的用法。

用法:

scipy.signal.impulse2(system, X0=None, T=None, N=None, **kwargs)#

single-input、continuous-time 线性系统的脉冲响应。

参数

system LTI 类的实例或 数组 的元组

说明系统。下面给出元组中元素的数量和解释:

  • 1 (instance of lti)

  • 2 (num, den)

  • 3 (zeros, poles, gain)

  • 4 (A, B, C, D)

X0 一维数组,可选

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

T 一维数组,可选

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

N 整数,可选

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

kwargs 各种类型

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

返回

T ndarray

输出的时间值。

yout ndarray

系统的输出响应。

注意

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

由于impulse2现已弃用,建议用户切换到更快、更准确的 impulse 函数。 impulse 不支持 scipy.integrate.odeint 的关键字参数,但通常不需要。

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

例子

计算具有重复根的二阶系统的脉冲响应: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)
scipy-signal-impulse2-1.png

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.signal.impulse2。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。