- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 MATLAB 的数值计算功能
多项式`
1.多项式的表达与创建
Matlab用矢量表达多项式系数,元素按降幂排列:
P(x)=a0xn+a1xn-1+a2xn-2…an-1x+a0
其系数矢量为:P=[a0 a1 … an-1 an]
如将根矢量表示为:
ar=[ ar1 ar2 … arn]
则根矢量与系数矢量之间关系为:
(x-ar1)(x- ar2) … (x- arn)= a0xn+a1xn-1+a2xn-2…an-1x+a0
多项式系数矢量可通过调用函数 p=poly(ar)产生
例 1:由根矢量创建多项式。将多项式(x-6)(x-3)(x-8)表示为系数形式
a=[6 3 8]
pa=poly(a)%求系数矢量
ppa=poly2sym(pa)%以符号形式表示原多项式
ezplot(ppa,[-50,50])
pa =1 -17 90 -144
ppa =
x^3-17*x^2+90*x-144
注:(1)根矢量元素为n ,则多项式系数矢量元素为n+1;
2)函数poly2sym(pa) 把多项式系数矢量表达成符号形式的多项式,缺省情况下自变量符号为x,可以指定自变量。
(3)使用简单绘图函数可以直接绘制 符号形式多项式的曲线。
例 2: 求三阶方阵A的特征多项式系数,并转换为多项式形式。
a=[6 3 8;7 5 6; 1 3 5]
Pa=poly(a)%求矩阵的特征多项式系数矢量
Ppa=poly2sym(pa)
Pa =1.0000 -16.0000 38.0000 -83.0000
Ppa =
x^3-17*x^2+90*x-144
注:n 阶方阵的特征多项式系数矢量一定是n +1阶的。
例 3: 由给定复数根矢量求多项式系数矢量。
r=[-0.5 -0.3+0.4i -0.3-0.4i];
p=poly(r)
pr=real(p)
ppr=poly2sym(pr)
p =1.0000 1.1000 0.5500 0.1250
pr =1.0000 1.1000 0.5500 0.1250
ppr =
x^3+11/10*x^2+11/20*x+1/8
注:(1)要形成实系数多项式,根矢量中的复数根必须共轭成对;(2)含复数根的根矢量所创建的多项式系数矢量中,可能带有很小的虚部,此时可采用取实部的命令(real)把虚部滤掉。
例 4: 将多项式的系数表示形式转换为根表现形式,poly和 roots 互为逆函数。
求 x3-6x2-72x-27的根
a=[1 -6 -72 -27]
r=roots(a)
r =12.1229-5.7345-0.3884
MATLAB约定,多项式系数矢量用行矢量表示,根矢量用列矢量表示。
1. 多项式的乘除运算
多项式乘法用函数conv(a,b)实现, 除法用函数deconv(a,b)实现。
例1:a(s)=s2+2s+3, b(s)=4s2+5s+6,计算 a(s)与 b(s)的乘积。
a=[1 2 3]; b=[4 5 6];
c=conv(a,b)
cs=poly2sym(c,’s’)
c =4 13 28 27 18
cs =
4*s^4+13*s^3+28*s^2+27*s+18
例2: 展开(s2+2s+2)(s+4)(s+1) (多个多项式相乘)
c=conv([1,2,2],conv([1,4],[1,1]))
cs=poly2sym(c,’s’)(指定变量为s)
c =17 16 188
cs =
s^4+7*s^3+16*s^2+18*s+8
例2:求多项式s^4+7*s^3+16*s^2+18*s+8分别被(s+4),(s+3)除后的结果。
c=[1 7 16 18 8];
[q1,r1]=deconv(c,[1,4])q—商矢量, r—余数矢量
[q2,r2]=deconv(c,[1,3])
cc=conv(q2,[1,3])对除(s+3)结果检验
test=((c-r2)==cc)
q1 =1342
r1 =00000
q2 =1446
r2 =0000 -10
cc =17 16 18 18
test =11111
1. 其他常用的多项式运算命令
pa=polyval(p,s) 按数组运算规则计算给定s时多项式p的值。
pm=polyvalm(p,s) 按矩阵运算规则计算给定s时多项式p的值。
[r,p,k]=residue(b,a) 部分分式展开,b,a分别是分子分母多项式系数矢量,r,p,k分别是留数、极点和直项矢量
p=polyfit(x,y
文档评论(0)