MATLAB中对多项式进行部分分式展开。

如题所述

用MATLAB进行部分分式展开
MATLAB有1个命令用于求B(s)/A(s)的部分分式展开式。
设s的有理分式为

式中 (i=)和(j=)的某些值可能为零。在MATLAB的行向量中,num和den分别表示F(s)分子和分母的系数,即
num=[]
den=[1 ]
命令
[r,p,k]=residue(num,den)
MATLAB将按下式给出F(s)部分分式展开式中的留数、极点和余项:

上式与式(2.37)比较,显然有p(1)=-p1,p(2)=-p2,…,p(n)=-pn;r(1)=A1,r(2)=A2,…,r(n)=An;k(s)是余项。
[例2.6] 试求下列函数的部分分式展开式

解:对此函数有
num=[1 11 39 5226]
den= [1 10 35 5024]
命令
[r,p,k]=residue(num,den)
于是得到下列结果
[r,p,k]=residue(num,den)
r=
1.0000
2.5000
-3.0000
0.5000
p=
-4.0000
-3.0000
-2.0000
-1.0000
k=1
则得

如果F(s)中含重极点,则部分分式展开式将包括下列诸项

式中,p(j)为1个q重极点。
[例2.7] 试将下列函数展开成部分分式

解:对于该函数有
num=[0 1 46]
den =[1 3 31]
命令
[r,p,k]=residue(num,den)
将得到如下结果:
[r,p,k]=residue(num,den)
r=
1.0000
2.0000
3.0000
p=
-1.0000
-1.0000
-1.0000
k=
[ ]
所以可得

注意,本例的余项k为零。
温馨提示:答案为网友推荐,仅供参考