数值分析教教案10.doc

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

2.4复合求积公式

前面导出的误差估计式说明,用牛顿-柯特斯公式计算积分近似值时,步长越小,截断误差越小。但缩小步长等于增加节点,亦即提高插值多项式的次数,龙格现象说明,这样做并不一定能提高精度。理论上已经证明,当时,牛顿-柯特斯公式所求得的近似值不一定收敛于积分的准确值,而且随着的增大,牛顿-柯特斯公式是不稳定的。因此,实际中不常用高阶牛顿-柯特斯公式,为提高计算精度,可考虑对被积函数用分段低次多项式插值,由此导出复合求积公式。

复合梯形公式

1.复合梯形求积公式的根本原理

在实际应用中,假设将积分区间划分成假设干个小区间,在各个小区间上采用低次的求积公式〔梯形公式或抛物形公式〕,然后再利用积分的区间可加性,把各区间上的积分加起来,便得到新的求积公式,这就是复合求积公式的根本思想。

以梯形面积近似曲边梯形面积,即用梯形公式求小区间上积分的近似值。如图2-1所示,这样求得的近似值显然比用梯形公式计算精度高。定积分存在定理说明,只要被积函数连续,当小区间的长度趋于零时,小梯形面积之和趋于曲边梯形面积的准确值,即定积分的准确值。

图2-1复合梯形求积示意图

将积分区间等分,记,在每个小区间上用梯形公式并求和,得

整理得

(2-19)

式(2-19)称为复合梯形公式。

如果,在小区间上,梯形公式的截断误差为

因此

因为在连续,由介值定理,存在,使得

从而有

(2-20)

这就是复合梯形公式的截断误差。

下面简单讨论复合梯形公式的数值稳定性。设计算函数值时产生误差为,那么用式(2-19)计算结果的误差为

因此,无论为多大,复合梯形公式是稳定的。

2.复合梯形求积公式的MATLAB实现

通过的个等步长节点逼近积分:

其中。

functions=trapr1(f,a,b,n)

%f是被积函数;

%a,b分别为积分的上下限;

%n是子区间的个数;

%s是梯形总面积;

h=(b-a)/n;

s=0;

fork=1:(n-1)

x=a+h*k;

s=s+feval(f,x);

end

s=h*(feval(f,a)+feval(f,b))/2+h*s;

【例2-8】利用程序计算积分。

解:先用M文件定义一个名为f.m的函数:

functiony=f(x);

y=1/(1+x^2);

在命令窗口输入:

trapr1(1/(1+x^2),-1,1,10)

回车得到:

ans=

1.5675

复合Simpson公式

1.复合Simpson求积公式的根本原理

如果用分段二次插值函数近似被积函数,即在小区间上用Simpsom公式计算积分近似值,就导出Simpsom复合公式。

将积分区间分成等分,分点为,在每个小区间上,用Simpsom公式求积分,那么有

求和得

整理后得到

(2-21)

式(2-21)称为复合Simpson公式。

如果,由Simpson插值余项公式可得复化公式的截断误差为

因为为连续,故存在,使得

代入上式得

(2-22〕

式(2-22)说明,步长越小,截断误差越小。与复合梯形公式的分析相类似,可以证明,当时,用复合Simpson公式所求得的近似值收敛于积分值,而且算法具有数值稳定性。

2.复合抛物形求积公式的MATLAB实现

functions=simpr1(f,a,b,n)

%f是被积函数;

%a,b分别为积分的上下限;

%n是子区间的个数;

%s是梯形总面积,即所求积分数值;

h=(b-a)/(2*n);

s1=0;

s2=0;

fork=1:n

x=a+h*(2*k-1);

s1=s1+feval(f,x);

end

fork=1:(n-1)

x=a+h*2*k;

s2=s2+feval(f,x);

end

s=h*(feval(f,a)+feval(f,b)+4*s1+2*s2)/3;

【例2-9】利用程序计算积分。

解:先用M文件定义一个名为f.m的函数:

functiony=f(x);

y=1/(1+x^2);

在命令窗口输入:

simpr1(f,-1,1,10)

回车得到:

ans=

1.5708

2.5龙贝格算法

复合求积方法对提高精度是行之有效的,但在使用求积公式之前必须先给出步长。步长取得太大精度难以保证,步长太小那么又会精度导致计算量的增加,而事先给出一个适宜的步长往往是困难的。

实际计算中常采用变步长的计算方案,即在步长逐次减半的过程中,反复利用复合求积公式进行计算,直到所求得的积分值满足精度要求为止。

1.梯形法的递推法

我们在变步长的过程中探讨梯形法的计算规律。设将积区间分为等分,那么一共有个等分点,,。这里用表示复合梯形法求得的积分值,其下标表示等分数。

先考察一个子段,其中点,在该

文档评论(0)

147****4268 + 关注
实名认证
内容提供者

认真 负责 是我的态度

1亿VIP精品文档

相关文档