____最好matlab教程ppt(全)10Matlab数值计算讲述.ppt

____最好matlab教程ppt(全)10Matlab数值计算讲述.ppt

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

Application of Matlab Language Matlab数值计算 第10讲 * Application of Matlab Language * 6.1 多项式(polynomial) 多项式的MATLAB表达 多项式由一个行向量表示 该向量元素是该多项式的系数 且按降幂次序排列 如:多项式x4-12x3+25x+116由行向量: p=[1 -12 0 25 116]表示。 注意,必须包括具有零系数的项。 求解多项式的根? roots指令 * Application of Matlab Language * 6.1 多项式(polynomial) 举例:求解多项式x4-12x3+25x+116的根 >>p=[1 -12 0 25 116] p = 1 -12 0 25 116 >>r=roots(p) r = 11.7473 2.7028 -1.2251 + 1.4672i -1.2251 - 1.4672i MATLAB按惯例规定,多项式是行向量,根是列向量 * Application of Matlab Language * 6.1 多项式(polynomial) 已知多项式的根,求解多项式 ? 能! 使用poly指令 举例:由上例所得的根求其多项式 >> pp=poly(r) pp = 1.0000 -12.0000 -0.0000 25.0000 116.0000 即:x4-12x3+25x+116 * Application of Matlab Language * 6.1 多项式(polynomial) 多项式的乘法(conv指令) 举例:多项式a(x)=x3+2x2+3x+4 和b(x)= x3+4x2+9x+16的乘积。 >> a=[1 2 3 4] ; b=[1 4 9 16]; >> c=conv(a, b) c = 1 6 20 50 75 84 64 两个以上的多项式的乘法需要重复使用conv. * Application of Matlab Language * 6.1 多项式(polynomial) 多项式加法: MATLAB没有提供进行加法运算的函数。 如果两个多项式向量大小相同,标准的数组加法有效。 把多项式a(x)与上面给出的b(x)相加。 >> d=a+b d = 2 6 12 20 结果: d(x)= 2x3+6x2+12x+20 当两个多项式阶次不同,低阶的多项式必须用首零填补,使其与高阶多项式有同样的阶次。 考虑上面多项式c和d相加: >> e=c+[0 0 0 d] e = 1 6 20 52 81 96 84 结果: d(x)= x6+6x5+20x4+52x3+81x2+96x+84 * Application of Matlab Language * 6.1 多项式(polynomial) 问题:编写一个多项式加法运算的函数文件 明确需求 定义一个函数,需要有两个输入参数(比如:p1、p2),一个输出参数p_out。 p1、p2表示两个待计算的多项式。 p_out表示两个多项式的求和结果 函数的内部处理 如p1、p2两参数大小相等,则直接相加: p_out=p1+p2 如p1、p2两参数大小不等: If length(p1)>length(p2) P2前面要补0元素,使p1、p2两参数大小相等 否则 P1前面要补0元素,使p1、p2两参数大小相等 * Application of Matlab Language * 6.1 多项式(polynomial) 函数文件的编写 function p_out=poly_sum(p1, p2) % calculate the sum of two polynomials if length(p1)==length(p2) p_out=p1+p2; elseif length(p1)>length(p2) p2=[zeros(1,length(p1)-length(p2)), p2]; p_out=p1+p2; else p1=[zeros(1,length(p2)-length(p1)), p1]; p_out=p1+p2; end * Application of Matlab Language * 6.1 多项

文档评论(0)

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

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

1亿VIP精品文档

相关文档