第6章 数值运算.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 数值运算

第六章 数值运算 2 6.1 多项式 多项式是形如p(x)=a0xn+a1xn-1+…+an-1x+an的式子,在MATLAB中,多项式用行向量表示P=[a0 a1…an-1 an]。 6.1.1 多项式的创建 1. 直接输入系数 直接输入向量,MATLAB将按降幂自动将向量的元素分配给多项式各项的系数,该向量可以是行向量或列向量。 P=[3 5 0 1 0 12]; y=poly2sym(P) y = 3*x^5+5*x^4+x^2+12 (注意缺项补零) 3 2. 由多项式的根逆推多项式 若已知某多项式的根,可用poly函数反推出与其相对应的多项式。 root=[-4 -2+2i -2-2i 5] root = -4.0000 -2.0000+2.0000i -2.0000-2.0000i 5.0000 p=poly(root) p = 1 3 -16 -88 -160 poly2sym(p) ans = x^4+3*x^3-16*x^2-88*x-160 4 6.1.2 多项式的运算 1. 多项式的求值 (1)代数多项式求值:polyval函数 polyval(P,X)计算向量P为系数的多项式在点X的值,如果X是矩阵或者向量,该命令对X的每个元素都进行计算。 (2)矩阵多项式求值:polyvalm函数 Y=polyvalm(P,X)计算向量P为系数的多项式在矩阵X的值,向量X必须为方阵。 Y=P(1)×Xn+P(2)×Xn-1+…+P(N)×X+P(N+1)×I 5 p=[1 2 3]; poly2sym(p) ans = x^2+2*x+3 a=[1 2;3 4]; polyval(p,2) ans = 11 polyval(p,a) ans = 6 11 18 27 polyvalm(p,a) ans = 12 14 21 33 b=[1 2 3;4 5 6]; polyvalm(p,b) ??? Error using == polyvalm Matrix must be square. 6 2. 多项式的根 求多项式的根,即求使多项式为零的值。设多项式由行向量p表示,其系数按降序排列,使用roots函数计算多项式的根,格式为roots(p)。 例:计算多项式x4+3x2+12x-7的根。 p=[1 0 3 12 -7] p = 1 0 3 12 -7 roots(p) ans = 0.7876 + 2.4351i 0.7876 - 2.4351i -2.0872 0.5121 polyval(p,ans) ans = 1.0e-013 * -0.0178 + 0.8793i -0.0178 - 0.8793i 0.1954 0 7 3. 多项式的四则运算 (1)加法和减法 如果两个多项式的向量阶数相同,可直接进行加减法计算;如果向量阶数不同,不能直接进行运算,需要在低阶多项式的前面补0,使其具有相同的阶数。 a=[8 2 2 8];b=[6 1 6 1]; poly2sym(a) ans = 8*x^3+2*x^2+2*x+8 poly2sym(b) ans = 6*x^3+x^2+6*x+1 c=a+b c = 14 3 8 9 poly2sym(c) ans = 14*x^3+3*x^2+8*x+9 d=a-b d = 2 1 -4 7 poly2sym(d) ans = 2*x^3+x^2-4*x+7 e=[2 4 5]; d+e ??? Error using == plus Matrix dimensions must agree. d+[0 e] ans = 2 3 0 12 poly2sym(ans) ans = 2*x^3+3*x^2+12 9 (2)乘法:convolution 使用conv函数对多项式进行乘法计算,其格式为conv(a,b) 例:计算(x3+2x2+3x+4)(5x3+6x2+7x+8) a=[1 2 3 4];b=[5 6 7 8]; poly2sym(a

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档