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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。