打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
MATLAB多项式
9  多项式的表达式及其操作
9.1 多项式的表达式和创建
1.多项式的表达式
MATLAB用一个行向量来表示多项式,此行向量就是将幂指数降序排列之后多项式各项的系数。例如,考虑下面的表达式:
这就是Wallis在他第一次在法国科学院提出牛顿法的时候所用的多项式。在MATLAB中,该多项式可以用以下命令来输入:
>> p = [1 0 -2 -5];
这个表达式的含义就是的系数为1,的系数为0(原公式中无此项,需补足为0),的系数为-2,常数项为-5。
2.多项式行向量的创建方法
多项式系数向量的直接输入法就是按照多项式表达式的约定,把多项式的各项系数一次排放在行向量的元素位置上。
正如前面所提到的:多项式的系数要以降幂顺序排列,假如多项式中缺少了某一幂次,那么就认为该幂次的系数为零。
利用命令P=poly(A)生成多项式系数向量。若A是方阵,多项式P就是该方阵的特征多项式。若A是一个向量, A的元素就被认为是多项式P的根。
【例2-36】  求 3 阶方阵 A 的特征多项式。
>>A=[11 12 13;14 15 16;17 18 19];
>>PA=poly(A)                         %  A的特征多项式
>>PPA=poly2str(PA,'s')              % 以较为习惯的方式显示多项式
PA =
1.0000  -45.0000 -18.0000    0.0000
PPA =
s^3 - 45 s^2 - 18 s +1.6206e-014
【例2-37】  由给定根向量求多项式系数向量。
>> R=[-0.5,-0.3+0.4*i,-0.3-0.4*i];       %  根向量
>> P=poly(R)                                %  R 的特征多项式
P =
1.0000    1.1000    0.5500   0.1250
>> PR=real(P)                               %  求 PR的实部
PR =
1.0000    1.1000    0.5500   0.1250
>> PPR=poly2str(PR,'x')
PPR =
x^3 + 1.1x^2 + 0.55 x + 0.125
需要指出的是:要形成实系数多项式,则根向两种的复数根必须共轭成对;含复数的根向量所生成的多项式系数向量(如P)的系数有可能带在截断误差数量级的虚部,此时可以采用取实部的函数real来将此虚部滤掉。
9.2 多项式运算函数
常用的多项式运算所涉及到的函数见表2-11。
表2-11     多项式运算函数
函数形式
函数功能
函数形式
函数功能
conv
卷积和多项式乘法
polyint
解析多项式积分
deconv
去卷积和多项式除法
polyval
按数组运算规则计算多项式值
poly
求具有指定根的多项式
polyvalm
按矩阵运算规则计算多项式值
polyder
多项式求导
residue
部分分式展开式和多项式系数之间转换
polyeig
多项式本征值
roots
多项式的根
polyfit
多项式拟合
【例2-38】  求
的“商”及“余”多项式。
>> p1=conv([1,0,2],conv([1,4],[1,1]));                   %  计算分子多项式
>> p2=[1 0 1 1];                                            %  注意缺项补零
>> [q,r]=deconv(p1,p2);
>> cq=' 商多项式为 ';
>> cr=' 余多项式为 ';
>> disp([cq,poly2str(q,'s')]),disp([cr,poly2str(r,'s')])  %  显示运算结果
运行的结果如下:
商多项式为    s + 5
余多项式为    5 s^2 + 4 s + 3
【例2-39】  两种多项式求值指令的差别示例。
>> S=pascal(4)                     %  生成一个 4 阶方阵
S =
1     1    1     1
1     2    3     4
1     3    6    10
1     4   10    20
>> P=poly(S);
>> PP=poly2str(P,'s')
PP =
s^4 - 29s^3 + 72 s^2 - 29 s + 1
>> PA=polyval(P,S)                 %  独立变量取数组 S 元素时的多项式值
PA =
1.0e+004 *
0.0016    0.0016    0.0016   0.0016
0.0016    0.0015   -0.0140  -0.0563
0.0016   -0.0140   -0.2549  -1.2089
0.0016   -0.0563   -1.2089  -4.3779
>> PM=polyvalm(P,S)                %   独立变量取矩阵 S 时的多项式值
PM =
1.0e-010 *
-0.0013   -0.0063   -0.0104  -0.0241
-0.0048   -0.0217   -0.0358  -0.0795
-0.0114  -0.0510   -0.0818   -0.1805
-0.0228   -0.0970   -0.1553  -0.3396
从理论上讲,PM应该为零。这就是著名的“Caylay-Hamilton”定理:任何一个矩阵满足它自己的特征多项式方程。本例中的PM的元素都很小,这是由截断误差造成的。
【例2-40】  部分分式展开示例。
>> a=[1,3,4,2,7,2];              % 分母多项式系数向量
>> b=[3,2,5,4,6];                %  分子多项式系数向量
>> [r,s,k]=residue(b,a)
r =
1.1274 +1.1513i
1.1274 -1.1513i
-0.0232 -0.0722i
-0.0232 +0.0722i
0.7916
s =
-1.7680 +1.2673i
-1.7680 -1.2673i
0.4176 +1.1130i
0.4176 -1.1130i
-0.2991
k =
[]
本例中的k是空阵,这说明分母的阶数高于分子。另外从计算数学上来讲,如果某些根很靠近,极点和留数的计算受截断误差的影响会比较大,此时用这种表达方式的数值稳定性不如用状态方程或零点、极点展开可靠。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
矩阵计算-MATLAB-矩阵计算与分析
MatLab入门及解方程
【matlab
Matlab的应用-多项式函数及多项式拟合(一)
polyfit
matlab函数大全
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服