几种常用数值积分方法的比较 下载本文

贵州师范学院毕业论文(设计)

把R?f?称为求积公式的截断误差或余项。

数值求积方法的特点是直接利用积分区间?a,b?上一些离散节点的函数值进行线性组合来近似计算定积分的值,从而将定积分的计算归结为函数值的计算,这就避开了牛顿-莱布尼兹公式需要寻求原函数的困难,并为计算机求积分提供了可行性。 3 几类常用数值积分方法的简单分析 3.1 Newton—Cotes求积公式

常用的梯形公式和Simpson公式是低阶的牛顿-柯特斯公式,牛顿-柯特斯

公式是积分区间上等距节点的插值求积公式。插值求积公式在积分区间上,所取节点是等距时称为牛顿-柯特斯公式,即

?baf(x)dx?(b?a)?C(n,k)f(xk)

k?0n其中C(n,k)为Cotes求积公式的系数,是n和k的函数。 当n=1时,为梯形公式:

?baf(x)dx?(b?a)[f(a)?f(b)] 2梯形公式的代数精度为1,有两个积分节点。 当n=2时,为Simpson公式:

?baf(x)dx?(b?a)a?b[f(a)?4f()?f(b)] 62Simpson公式的代数精度为3,有三个积分节点。

由于只增加一个节点,其代数精度增加2,由此可知,Simpson公式比梯形公式代数精度高。

当n=4时,Newton—Cotes求积公式为Cotes公式:

?

baf(x)dx?(b?a)3a?ba?ba?3b[7f(a)?32f()?12f()?32f()?7f(b)] 904245

贵州师范学院毕业论文(设计)

Newton-Cotes公式的代数精度为5,有5个积分节点。

所以对于Newton-Cotes积分公式,n为偶数时的代数精度要比n为奇数时的积分公式效果比较优越。但并不是n的值越大越好,当n过大时(n=8),求积公式的数值稳定性不好。 3.2 复化求积公式

由于Newton-Cotes的节点n越大对应的精度就越高,但是n=8时公式的数值是不稳定的,因此就不能用增加求积节点的方法来提高精度,因此,我们常常将求积区间[a,b]分成若干小区间,然后在每个小区间上采用数值稳定的Cotes公式求小区间上的积分,然后把每个小区间上的结果加起来作为原定积分的近视值,这种方法构造的求积公式就叫做复化求积公式。 常用的复化求积公式有: 复化梯形公式:

n?1b?a11Tn?[f(x0)??f(xi)?f(xn)]

n22i?1变步长梯形公式为:

2n?1T?Mnb?a11 T2n?[f(x0)??f(xi)?f(x2n)]?n2n222i?1b?anMn??f(x2j?1) 2nj?1复化Simpson公式:

Ik?b?a[f(x2(k?1))?4f(x2k?1)?f(x2k)] 2n变步长复化Simpson公式:

S2nnn?1b?a??Ik?[f(x0)?f(x2n)?4?f(x2k?1)?2?f(x2k)]

6nk?1k?1k?1n

6

贵州师范学院毕业论文(设计)

3.3 Romberg求积公式

Romberg积分方法也叫做逐次分半加速法,它是在复化梯形公式误差估计的基础上,应用线性外推的方法构造出的一种加速算法。

将积分区间分成n等分和2n等分时,求得积分近似值Tn和T2n,并没有误差估计式

1311积分近似值T2n的误差大致等于(T2n?Tn),当用(T2n?Tn)对T2n进行修正时,

3311(T2n?Tn)与T2n之和比T2n更接近于真值I,故(T2n?Tn)是对T2n误差的一种补偿,33 I?T2n?(T2n?Tn)

因此可以期望下式是一个更好的结果,即

Tn2?Tn T?T2n?(T2n?Tn)?313431 下面说明T即是分成n等分时Simpson公式的值Sn。将复化梯形公式

n?1h??Tn??f(a)?2?f(xk)?f(b)?

2?k?1?梯形变步长求积公式

1hn?1T2n?Tn??f(x1)

k?22k?02代入上式T表达式得

n?1n?1?h?T??f(a)?4?f(x1)?2?f(xk)?f(b)??Sn

k?6?k?0k?02?这就是说,用梯形法二分前后两个梯形值Tn和T2n作线性外推,结果得到Simpson法的积分值Sn。将误差由o(h2)变为o(h4),从而提高了逼近精度。 再考察Simpson法。其截断误差与h4成正比,因此,若将步长折半,则误差减至

1,即有 16I?S2n1? I?Sn16

7

贵州师范学院毕业论文(设计)

由此得 I?161S2n?Sn 1515不难验证,上式右端的值其实等于Cn,就是说,用Simpson法二分前后的两个积分值Sn与S2n,按上式再作线性外推,结果得到柯特斯法的积分值Cn,即有

Cn?161S2n?Sn 1515这时将误差由o(h4)变为o(h6),逼近精度又一次得以提高。

同样的方法,依据柯特斯法的误差公式,可进一步导出下列龙贝格公式 Rn?641C2n?Cn 6363 Rn逼近积分值的误差为o(h8),这样Romberg公式将误差由o(h6)变为o(h8),逼近精度再次得以提高。Romberg公式有7次代数精度,这表明该公式不是牛顿-柯特斯公式。

在步长二分的过程中运用Sn、Cn、Rn表达式加工三次,就能将粗糙的积分值Tn逐步加工成精度较高的Romberg值Rn,或者说,将收敛缓慢的梯形值序列Tn加工成收敛迅速的Romberg值序列Rn,这种加速方法称Romberg算法。 3.4 高斯型求积公式

前面介绍的n?1个节点的 Newton -Cotes求积公式,其特征是节点是等距的。这种特点使得求积公式便于构造,复化求积公式易于形成。但同时也限制了公式的精度。n是偶数时,代数精度为n?1,n是奇数时,代数精度为n;我们知道n?1个节点的插值型求积公式的代数精确度不低于n。能不能在区间

?a,b?上适当选择个节点x0,x1,x2xn 使插值求积公式的代数精度高于n呢?

答案是肯定的,适当选择节点,可使公式的精度最高达到2n?1,这就是所学的高斯型求积公式。

不失一般性,将求积公式?af(x)dx??Akf(xk)的求积区间?a,b?转换成??1,1?k?0bn的形式。

8