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


Python SciPy signal.residue用法及代碼示例


本文簡要介紹 python 語言中 scipy.signal.residue 的用法。

用法:

scipy.signal.residue(b, a, tol=0.001, rtype='avg')#

計算 b(s) /a(s) 的 partial-fraction 擴展。

如果 M 是分子 b 的次數,N 是分母 a 的次數:

b(s)     b[0] s**(M) + b[1] s**(M-1) + ... + b[M]
H(s) = ------ = ------------------------------------------
        a(s)     a[0] s**(N) + a[1] s**(N-1) + ... + a[N]

那麽partial-fraction擴展H(s)定義為:

r[0]       r[1]             r[-1]
= -------- + -------- + ... + --------- + k(s)
  (s-p[0])   (s-p[1])         (s-p[-1])

如果有任何重複的根(比 tol 更接近),則 H(s) 具有如下術語:

r[i]      r[i+1]              r[i+n-1]
-------- + ----------- + ... + -----------
(s-p[i])  (s-p[i])**2          (s-p[i])**n

此函數用於 s 或 z 的正冪多項式,例如控製工程中的模擬濾波器或數字濾波器。對於 z 的負冪(DSP 中數字濾波器的典型值),請使用 residuez

有關算法的詳細信息,請參閱注釋。

參數

b array_like

分子多項式係數。

a array_like

分母多項式係數。

tol 浮點數,可選

就它們之間的距離而言,兩個根的公差被認為是相等的。默認值為 1e-3。有關詳細信息,請參閱 unique_roots

rtype {‘avg’, ‘min’, ‘max’},可選

計算根以表示一組相同根的方法。默認為‘avg’。有關詳細信息,請參閱 unique_roots

返回

r ndarray

對應於極點的殘基。對於重複的極點,殘差按照冪分數的上升順序排列。

p ndarray

極點按幅度按升序排列。

k ndarray

直接多項式項的係數。

注意

“deflation through subtraction” 算法用於計算 - [1] 中的方法 6。

部分分數展開的形式在精確的數學意義上取決於極點的多重性。然而,在數值計算中沒有辦法準確地確定多項式根的多重性。因此,您應該考慮以下結果residue給定tol作為由具有經驗確定的多重性的計算極點組成的分母計算的部分分數展開。的選擇tol如果有接近的極點,可以極大地改變結果。

參考

[1]

J. F. Mahoney, B. D. Sivazlian,“部分分數展開:計算方法和效率的回顧”,計算與應用數學雜誌,卷。 9,1983 年。

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.signal.residue。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。