利用Matlab实现Rmberg数值积分算法系统建模与仿真结课作业.docVIP

利用Matlab实现Rmberg数值积分算法系统建模与仿真结课作业.doc

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

利用Mat I ab实现Romberg数值积分算法 一、 内容 针对于來些多项式稅分,利用Newton—Leibniz积分公式求解时有困难,口J* 以采用数值积分的方法,求解指定精度的近似解,木文利用Matlab屮的.m文件 编写了复化梯形公式与Romberg的数值积分算法的程序,求解多项式的数值积分, 比较两者的收敛速度。 二、 数值积分公式 复化梯形公式求解数值积分的基础是将区间一等分吋的Newton-Cotes 求积公式: / = P /⑻也=—-^[f(a) + f(b)] 其几何意义是,利用区间端点的函数值、与端点构成的梯形而积来近似/(x) 在区问[a, b]上的积分值,截断误差为: (a,b)? a)3 (a,b) 具冇一次的代数精度,很明显,这样的近似求解精度很难满足计算的要求, 因而,可以采用将积分区间不停地对分,当区间足够小的吋候,利用梯形公式求 解每一个小区问的积分近似值,然后将所有的区问加起来,作为被求函数的积分, 可以根据计算精度的要求,划分对分的区间个数,得到复化梯形公式: 々(b - a) 々(b - a))] (b - a) 2n [f(a) + f(b) + 2^/(a+ k=\ K截断误差为: _(b_ a) _(b_ a) 12 7 e (a,b) Romberg数值识分算法 使用复化的梯形公式计算的数值积分,其收敛速度比减慢,为此,采用 Romberg数值积分。其思想主要是,根裾/的近似值7;加上/与7;的近似误差, 伽 伽 作为新的/的近视,反复迭代,求出满足计算精度的近似解。 用r2?近似/所产生的误差可用K式进行估算: 新的/的近似值: + 尸(0 1 2 …?) Romberg数值釈分算法计算顺序 TOC \o 1-5 \h \z i=0 (1) 7;o i二1 (2) G (3) 7;* i=2 (4) g (5) $ (6) (10)(14)i=3 (7) (8) $ (9) (10) (14) i=4 (11) g (12) $ (13) 其中,第一列是二阶收敛的,第二列是四阶收敛的,第三列是六阶收敛的, 第四列是八阶收敛的,即Romberg序列。 三、复化梯形法以及Romberg算法程序流程! 输入被枳函数、积分 区间、收敛条件 计算Ti+10 输出结果 1复化梯形法程序流程 12 Romberg算法程序流程 四、计算实例 依据上文所述的流程图,编写复化梯形程序以及Romberg算法程序,并且利 用实例验证程序的正确性,示例如下(计算精度): 71- 表2 计算结果 计算精度 0. 5X1CT-5 0. 5Xl(f-7 0. 5Xl(T-9 复化梯形 时间 0.069826394633 0.216635802304 3.459824945493 算法 近似值 3.141590110458 3.141592613853 3.141592653434 Romberg 时间 0.045687329710 0.043361726357 0.044913907518 算法 近似值 3.141592502458 3.141592651224 3.141592653552 从上表屮可以看出,当要求的计算精度不高时,复化梯形算法与Romberg 算法计算时问和差不太大,但是Romberg算法是要快于复化梯形算法的;当要求 的计算精度更高的时候,Romberg算法是明显快于S化梯形算法。 木文所编写的程序适用于多项式的数值积分,且对子积分区间内,被积函数 在每一点必须有定义,在以后的学习中进一步改进。 附录: 复化梯形算法程序 function []=sf(a,b,m,M,d) tic dispG请输入分子多项式a,分母多项式b,积分卜限m,积分上限M,以及计算精度d* f=poly2sym(a)/poly2sym(b) %用于给用户显示被积函数的形式 %利用梯形公式计算此数值积分 disp(*利用梯形公式计算数值积分的结果*) kk=zeros(); %用于存放姑果 kkUJhlAIM-mVlIsubsW^rrO+subsa/xM))% 先存储首项 for i=l:l:2八30 t=0; forj=0:l:2 八(i-l)-l v=m+(2*j+l)*(M-m/(2 八 i) vv=polyval(a,v)/polyval(b/v); t=t+(M-m)/(2Ai)*vv end y=l/2*kk(i,l)+t %通项公式计算各项值 kk(i+l/l)=y %存储其他项 f=i+l; %记录符合条件的值的下标 if(l/3*(kk(i+l/l)-kk(izl))=d) break; end end time=toc fprintf(The result is %f\n, kk(

文档评论(0)

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

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

1亿VIP精品文档

相关文档