scipy.signal.residue

scipy.signal.residue(b, a, tol=0.001, rtype='avg')[源代码]

计算b(S)/a(S)的部分分数展开式。

如果 M 是分子的阶数 bN 分母的度数 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]

则部分分数展开式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

有关该算法的详细信息,请参阅注释。

参数
barray_like

分子多项式系数。

aarray_like

分母多项式系数。

tol浮动,可选

两个根之间的距离被认为相等的容差。默认值为1e-3。看见 unique_roots 了解更多详细信息。

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

用于计算表示一组相同根的根的方法。默认值为“avg”。看见 unique_roots 了解更多详细信息。

退货
rndarray

与杆子相对应的残留物。对于重复的极点,剩余部分被排序为对应于幂分数的递增。

pndarray

极点按大小按升序排列。

kndarray

直接多项式项的系数。

注意事项

“通过减法进行通货紧缩”算法用于计算-中的方法6 [1].

在精确的数学意义上,部分分数展开的形式取决于极点的多重性。然而,在数值计算中,无法准确地确定多项式的重根。因此,你应该考虑的结果是 residue 在给定的情况下 tol 作为对由具有经验确定的重数的计算极点组成的分母计算的部分分数展开。选择 tol 如果有接近的杆子,会极大地改变结果。

参考文献

1

马奥尼,B.D.Sivazlian,“部分分数展开:计算方法和效率的回顾”,“计算与应用数学杂志”,第9卷,1983。