Matlab的residuez和residue的区别,举例

看了网上很多的博客都没有说的很清楚这两个函数的区别,于是自己动手试了一下

一、residue函数

1. 概念:在部分分式展开式和多项式系数之间转换。(Convert between partial fraction expansion and polynomialcoefficients)。

[r,p,k] = residue(b,a)
[b,a] = residue(r,p,k)
Matlab的residuez和residue的区别,举例_第1张图片
源网址:https://ww2.mathworks.cn/help/matlab/ref/residue.html

有H(z) = { -4 + 8z^(-1)}/{ 1 + 6z^(-1) + 8z^(-2)} ,即b = [-4 8 0];a = [1 6 8];
部分展开结果如图:
Matlab的residuez和residue的区别,举例_第2张图片
执行residue后得

b = [-4 8 0];
a = [1 6 8];
[r,p,k] = residue(b,a)
r =

    48
   -16


p =

    -4
    -2


k =

    -4

验证了我们计算计算结果!

二、residuez函数

Matlab的residuez和residue的区别,举例_第3张图片
可以发现这个不同于上一个是,分母上是z-1,而前一个分母上是s,所以说写出部分分式展开的结果也会不同。 可以写出部分分式展开的格式:
H(z) = -12/(1 + 4z^(-1) ) + 8/(1 + 2z^(-1))
代码执行结果:

b = [-4 8 0];
a = [1 6 8];
[r,p,k] = residuez(b,a)
r =

   -12
     8


p =

    -4
    -2


k =

     0

结论

显而易见,两个函数只是部分分式展开式展开方式的不同,residuez是z-1形式的展开

你可能感兴趣的:(matlab)