當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。