数值积分的加速技巧(2)

2019-01-07 15:32

第6 页 共 52 页

f(x)?x22x2?3 它的原函数F(x)为

12392x2x2?3?x2x?3?ln(x2?4161622x2? 3)(2) 还有不少的被积函数,从理论上讲其原函数一定存在,但是,他们的原 函数却无法用初等函数表示成有限形式。

例如函数f(x)为

sinx1?x2exx,,e,,?等, sinxlnxx2 (3)在实际问题中,很多被积函数f(x),本身就不能用解析表达式表示。例如实验中得到的表函数或图形函数的原函数当然更无法获得。

如上所述,不难看出,有些问题用求原函数的方法作积分计算是无法进行的或很难进行的。因而,用数值方法解决定积分的计算问题就显得十分必要了。

在一些工程问题中,往往对于积分的精度有较高的要求,而众所周知精度与计算方法的迭代次数及复杂度是一对矛盾,即提高算法精度往往要以牺牲算法的复杂度为代价,结果使计算机计算的时间加长。因此对于算法的分析就集中在了如何加速收敛上。而现在处理的问题日趋复杂,加速收敛问题也就显得愈加重要。

在本论文中,本人将对于数值积分的几种经典算法进行演示,并将加速收敛方法运用其中,对于两种情况前后比较计算的次数及精度,并用实验证明用加速收敛方法对于算法进行改进是极其必要的。

1 数值积分的几种经典求积方法概述

数值积分的基本思想是:若直接计算式?f(x)dx有困难,可以利用已经学过

ab的插值知识,先构造一个多项式P(x)逼近被积函数f(x),并以P(x)在区间[a,b]上的积分?p(x)dx近似代替f(x)在区间[a,b]上的积分?f(x)dx,即:

aabb?baf(x)dx??p(x)dx

ab

第7 页 共 52 页

多项式P(x)的积分则是大家都会计算的。以下的经典数值积分方法:梯形求积公式,抛物型求积公式和牛顿-柯特斯公式均是由这一想法构造而得。

1.1梯形求积公式及复化梯形求积公式

梯形系列的求积公式都是在一定的区间上,用一条直线代替被积函数,进行近似计算的,由于原积分值在几何图形上来看相当于求一个梯形的面积,因此而得名——梯形求积法。

1.1.1梯形求积公式及其误差估计

过a,b两点,作直线P1(x)?x?ax?bf(b)?f(a)用P1(x)代替f(x),得 b?aa?bbbx?ax?bb?af(x)dx??P(x)dx?(f(b)?f(a))dx?(f(a)?f(b)) (1.1.1) ?ab?aa1a?b2?ba虽然梯形求积公式的精确度很差,但是它体现了数值积分经典方法的基本思想,而且其计算的复杂度很低。

对于梯形求积公式的误差估计,我们有如下论断: 若f(x)?C2 R(f)??

1.1.2复化梯形求积公式及其误差估计

为了提高算法的精确度,我们引入了复化梯形公式: 将区间[a,b] n等分,节点xk?a?kh(k?0,1,?n,h?[xk,xk?1]上用梯形求积公式,则可得到:

b?a)。对每个小区间n[a,b],则梯形求积公式(1.1.1)有误差估计

bab?a(b?a)3f(x)dx?(f(a)?f(b))??f''(?) a???b

212

第8 页 共 52 页

I??f(x)dx???ak?0bn?1xk?1xkf(x)dx??k?0n?1xk?1?xk(f(xk)?f(xk?1)) 2n?1h?(f(a)?f(b)?2?f(a?kh))?Tn (1.1.2) 2k?1Tn称为复化梯形求积公式,下标n表示将区间n等分。

我们知道,因为区间的分数越多,我们所得到的近似值就愈接近于真值,因此,截断误差随着n的增大而减小。但对于一个给定的积分问题,选定了某种积分方法,如何确定适当的n,使得近似值和真值之差在误差允许的范围内呢?当然可以用上面的误差估计来求n,虽然在梯形积分的误差估计中我们只涉及到了二阶微商,但在我们下面介绍的其他方法中,当精度提高后,误差估计就要用到高阶微商,一般是比较困难的,而且这样估计也较保守。逐次分半法是在求积过程中,根据精度要求,自动确定n的选择是否满足精度要求。通常做法是在前次划分区间的基础上,再把每个小区间二等分,即将积分区间逐次分半,并以前后两次计算结果之差来估计误差。这样既缩小了步长,又能保留原有的计算结果,减少计算量。这就是逐次分半法的基本思想。在后面的复化抛物线公式以及复化柯特斯公式中我们都是应用这一思想。

在复化梯形公式中,若把区间2n等分,在每个小区间上仍用梯形求积公式,则可得到T2n,Tn与T2n之间有关系式:

其中

1T2n?(Tn?Hn)

2Hn?h?f(a?(2k?1)k?1nb?a) 2n对于复化梯形求积公式的误差估计我们有如下结论: 若f(x)∈C[a,b]则

R(f,Tn)??f(x)dx?Tn??abb?a2hf''(?) , 12其中 h?

b?a。 n

第9 页 共 52 页

1.2 抛物线求积公式及复化抛物型求积公式

相对于梯形而言,顾名思义,抛物线积分的基本思想就是用一条抛物线来代替直线,在一个或多个区间上进行积分的。

1.2.1抛物线求积公式

把区间[a,b]二等分,过a、b和

P2(x)?a?b三点,做抛物线 22a?ba?ba?b((x?)(x?b)f(a)?2(x?a)(x?b)f()?(x?a)(x?)f(b))

(b?a)2222用P2(x)代替f(x),则可求得

?baf(x)dx??P2(x)dx?abb?aa?b(f(a)?4f()?f(b)) (1.2.1) 62(1.2.1)叫做辛浦生公式。因为辛浦生公式从几何上看是用抛物线围成的曲边梯形面积来近似代替f(x)所围成的曲边梯形的面积,所以辛浦生公式也叫做抛物线求积公式。

容易证明,抛物线求积公式对四次多项式不能精确成立,所以抛物线求积公式的代数精确度是3。

抛物形求积公式有如下误差估计 若f(x)?C2R(f)??b[a,b],则抛物形求积公式(1.2.1)有误差估计

ab?aa?b(b?a)3(4)f(x)dx?(f(a)?4f()?f(b))??f(?) a???b

622880

1.2.2复化梯形求积公式

同样,我们有复化抛物型求积公式来改善积分的精确度,其构造方法如下: 由于抛物线公式用到了区间中点,所以在构造复化抛物线公式时须把区间[a,b]分成为偶数份,为此,令n=2m,m为正整数,在每个小区间[x2k?2,x2k]上用抛物线

第10 页 共 52 页

求积公式 其中h?b?x2kx2k?2f(x)dx?2h(f(x2k?2)?4f(x2k?1)?f(x2k)) 6b?a,因此 nmx2kx2k?2I??f(x)dx???ak?1hf(x)dx??(f(x2k?2)?4f(x2k?1)?f(x2k))

k?13mmmh ?(f(a)?f(b)?4?f(x2k?1)?2?f(xk2))?Sn (1.2.2)

3k?1k?1Sn称为复化抛物线公式,n是区间等分数。 复化抛物线公式有如下的误差估计:

设f(x)?C4[a,b],则对复化抛物线公式有

b?a4(4)h1f(?) a???b (1.2.3) 2880R(f,Sn)??f(x)dx?Sn??ab其中 h1?2h,h?b?a。 n式(1.2.3)叫做复化抛物线求积公式的余项公式。从此式得知,复化抛物线求积公式的截断误差与步长的四次方成正比。由此可见它比梯形求积公式的精度要高。

1.3 牛顿-柯特斯公式

如果在积分区间[a,b]内只取两个端点a,b,使其函数值f(a)、f(b)两点连成一条直线,这就构成了梯形积分。

如果在积分区间[a,b]内选取三个点a,b,c即两个端点a,b及一个中点c,使其函数值点f(a),f(c),f(b)三点连成一条二次抛物线,这就构成了辛浦生积分。

如果在积分区间[a,b]内选取五个点,即两个端点a,b,一个中点c,两个四分点d,e,使其函数值点f(a),f(d),f(c),f(e),f(b)五个点连成一条高次曲线,这就构成了柯特斯积分。


数值积分的加速技巧(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2014年上半年安全生产工作总结1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: