- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验题目2 Romberg积分法
摘要
考虑积分
欲求其近似值,可以采用如下公式:
(复化)梯形公式
(复化)辛卜生公式
(复化)柯特斯公式
这里,梯形公式显得算法简单,具有如下递推关系
因此,很容易实现从低阶的计算结果推算出高阶的近似值,而只需要花费较少的附加函数计算。但是,由于梯形公式收敛阶较低,收敛速度缓慢。所以,如何提高收敛速度,自然是人们极为关心的课题。为此,记为将区间进行等份的复化梯形积分结果,为将区间进行等份的复化辛卜生积分结果,为将区间进行等份的复化柯特斯积分结果。根据李查逊(Richardson)外推加速方法,可得到
可以证明,如果充分光滑,则有
(固定)
这是一个收敛速度更快的一个数值求积公式,我们称为龙贝格积分法。
该方法的计算可按下表进行
…
…
…
… …
很明显,龙贝格计算过程在计算机上实现时,只需开辟一个一维数组,即每次计算的结果,可存放在位置上,其最终结果是存放在位置上。
前言
利用龙贝格积分法计算积分
程序设计流程:
1.准备初值,计算
且(为等份次数)
2.按梯形公式的递推关系,计算
3.按龙贝格公式计算加速值
4.精度控制。对给定的精度,若
则终止计算,并取作为所求结果;否则,重复2~4步,直到满足精度为止。
问题1
程序运行如下:
I = Romberginterg(inline(x.^2.*exp(x)),0,1,25,1e-6)
I = 0.7183
程序运行如下:
I = Romberginterg(inline(exp(x).*sin(x)),1,3,25,1e-6)
I = 10.9502
程序运行如下:
I = Romberginterg(inline(4./(1+x.^2)),0,1,25,1e-6)
I = 3.1416
程序运行如下:
I = Romberginterg(inline(1./(1+x)),0,1,25,1e-6)
I = 0.6931
问题2
程序运行如下:
I = Romberginterg(inline(cos(x)./sqrt(1-x)),0,1,25,1e-6)
I = NaN
因为函数在x=0处出现了0/0的情况,极限为1,所以Matlab的结果显示为NaN非数,解决方法是把下限0改为一个小数eps。
I = Romberginterg(inline(sin(x)./x),eps,1,25,1e-6)
I = 0.9461
程序运行如下:
I = Romberginterg(inline(cos(x)./sqrt(1-x)),0,1,25,1e-6)
I = NaN
与(1)的原因相同,函数在x=1处出现了0/0的情况,结果为无穷,此时应选择变换 QUOTE ,将积分变为 QUOTE ,再进行变换 QUOTE ,将积分变为
QUOTE ,变换后输入命令:
I = RombergInterg(inline(2*sin(x).*cos((sin(x)).^2)),0,pi/2,25,1e-6)
I = 1.4996
程序运行如下:
I = Romberginterg(inline(cos(x)./sqrt(x)),0,1,25,1e-6)
I = NaN
函数在x=0处出现了1/0的情况,结果为无穷。先将积分变为 QUOTE ,再做变换 QUOTE , QUOTE
I = 2*Romberginterg(inline(cos(x.^2)),0,1,25,1e-6)
I = 1.8090
程序运行如下:
I = Romberginterg(inline(x.*sin(x)./(1-x.^2)),-1,1,25,1e-6)
I = NaN
函数在x=1,-1处出现了sin1/0的情况,结果为无穷。被积函数为偶函数,做变换 QUOTE ,积分变为 QUOTE
I = 2*Romberginterg(inline(sin(x).*sin(sin(x))),0,pi/2,25,1e-6)
I = 1.382
文档评论(0)