第7讲Matlab数值计算.pptVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7讲Matlab数值计算

Matlab Language Matlab数值计算 第7讲 * Matlab Language * 6.1 多项式(polynomial) 多项式的MATLAB表达 多项式由一个行向量表示 该向量元素是该多项式的系数 且按降幂次序排列 如:多项式x4-12x3+25x+116由行向量: p=[1 -12 0 25 116]表示。 注意,必须包括具有零系数的项。 求解多项式的根? roots指令 * 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按惯例规定,多项式是行向量,根是列向量 * Matlab Language * 6.1 多项式(polynomial) 已知多项式的根,求对应的多项式 ? 能! 使用poly指令 举例:由上例所得的根求其多项式 pp=poly(r) pp = 1.0000 -12.0000 -0.0000 25.0000 116.0000 即:x4-12x3+25x+116 * 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. * 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 * 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两参数大小相等 * 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 * Matlab Language * 6.1 多项式(polynomial) 多项式的除法(deconv) 举例说明: c(x)=x6+6x5+20x4+50x3+75x2+84x+64 除以b(x)= x3+4x2+9x+16 c=[1 6 20 50 75 84 64]; b=[1 4 9 16

您可能关注的文档

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档