数值积分算法与MATLAB实现

【摘要】在求一些函数的定积分时,由于原函数十分复杂难以求出或用初等函数表达,导致积分很难精确求出,只能设法求其近似值,因此能够直接借助牛顿-莱布尼兹公式计算定积分的情形是不多的。数值积分就是解决此类问题的一种行之有效的方法。因此,探讨近似计算的数值积分方法是有着明显的实际意义的。本文较详细地介绍了牛顿-科特斯求积公式,以及为了提高积分计算精度的高精度数值积分公式,即龙贝格求积公式和高斯-勒让德求积公式。除了研究这些数值积分算法的理论外,本文还将这些数值积分算法在计算机上通过MATLAB软件编程实现,并通过实例用各种求积公式进行运算,分析比较了各种求积公式的计算误差。
【关键词】数值积分 牛顿-科特斯求积公式 高精度求积公式 MATLAB软件
1.引言
微积分的发明是人类科学史上一项伟大的成就,在科学技术中,积分是经常遇到的一个重要计算环节。数值积分是数学上重要的课题之一,是数值分析中重要的内容之一,也是应用数学研究的重点。它是非常重要的数学工具,但在实际应用中,被积函数经常会遇到如下情况:(1)找 的原函数 相当困难;(2) 的原函数 存在,但是其表达式相当复杂,而且有时候难以给出最后的数值结果;(3)除一些特俗的无穷外,通常很难求出无穷积分的值;(4)被积函数没有有限的解析式,而以表格的形式给出。因此能够借助牛顿-莱布尼兹公式计算定积分的情形是不多的。
另外,许多实际问题中的被积函数往往是列表函数或其他形式的非连续函数,对这类函数的定积分,也不能用不定积分方法求解,只能设法求其近似值。因此,探讨近似计算的数值积分方法是有明显的实际意义的,即有必要研究定积分的数值计算方法,以解决定积分的近似计算。而数值积分就是解决此类问题的一种有效的方法,它的特点是利用被积函数 在一些节点上的信息求出定积分的近似值。
几百年来,如Gauss、Stroud、Davis、华罗庚等世界上著名的数学大师都对积分的逼近进行了深入的研究,现在计算机图形学、积分方程、工程计算等应用科学领域都有着相当重要的应用。1950年Gauss求积公式做出推广,提出了Gauss数值求积公式,我们利用重节点差商逐步展开得到数值积分的显式表达,结果更加简洁。1982年Bernard Jacobson给出了积分中值点的渐进性质。
而后九十年代初,在30几个数学类科技应用软件中,Matlab在数值计算中独占鳌头,已经成为国际控制界公认的标准计算软件。Matlab简单的编辑环境提供了较完备的调试系统,程序不必编译就能运行,能够及时的报告出现的错误及进行出错的原因分析。
2.牛顿-科特斯求积公式
2.1数值求积公式的构造
数值积分是求定积分的近似值的数值方法。即用被积函数的有限个抽样值的加权平均近似值代替定积分的值。数值积分方法是解决实际计算问题的重要方法。我们知道计算定积分是采用牛顿—莱布尼兹(Newton-Leibniz)公式:

但由于其适用范围有限,不能普遍适用,因此有其局限性。所有说牛顿—莱布尼兹公式不是万能的,而数值积分公式却具备这种良好的性质。只要数值积分构造得当,就能很好的计算出某个定积分的近似值。
2.2牛顿-科特斯求积公式
其中 称为科特斯系数。
3.几个低次牛顿-科特斯求积公式
从上面的讨论可知,用多项式近似代替被积函数进行数值积分时,虽然最高次数可是8,但是8次多项式的计算式非常繁杂的。常用的是下面介绍的几种低次多项式。
3.1辛浦生求积公式
辛浦生求积公式,也称抛物线求积公式。它的几何意义是:用过3个点 , , 的抛物线和 , 构成的曲边梯形面积,近似地代替了被积函数 形成的曲边和 , 构成的曲线梯形面积。

3.2科特斯求积公式
科特斯求积公式

4.高精度数值积分算法
复化求积公式是提高精确度的一种行之有效的方法,但是在使用复化型求积公式之前必须先给出步长。步长太大精度难以保证,步长太小则又会导致计算量的增加,而事先给出一个合适的步长往往是困难的。在实际计算中常常采用变步长的计算方法,即在步长逐次减半的过程中,反复利用复化求积公式进行计算,并同时查看相继两次计算结果的误差是否达到要求,直到所求得的积分值满足要求为止。
4.1龙贝格求积公式
龙贝格求积公式

4.2高斯求积公式
高斯型求积公式

4.3高斯-勒让德求积公式
常用的高斯型求积公式有高斯-勒让德公式、高斯-切比雪夫公式、高斯-拉盖尔公式、高斯-埃尔米特公式,下面着重介绍高斯-勒让德公式
4.3.1 Legendre多项式
勒让德(Legendre)多项式,

勒让德多项式的性质:
性质1 勒让德多项式的首项系数为
性质 2 当 为奇数时, 为奇函数;当 为偶数, 为偶函数
性质 3 对一切次数不高于 次的多项式 ,有
4.3.2高斯-勒让德求积公式
在区间为[-1,1]上,权函数 ,以n次Legendre多项式 的零点 为节点,所建立的Gauss型求积公式
8.总结
本文主要讨论了数值积分的计算方法并通过MATLAB软件编程实现,通过前面的研究我们知道求数值积分近似值的计算方法很多,包括Newton-Cotes求积公式、复化求积公式、Romberg求积公式、高斯求积公式等等。这四种积分能够解决不能或者不方便使用牛顿-莱布尼茨公式求定积分,尤其是在实际问题中,许多函数使用表格货图形给出的。
其中Newton-Cotes方法是一种利用插值多项式来构造数值积分的常用方法,这其中梯形积分方法的误差最大,近似效果最差,尤其是对于被积函数为周期函数时,效果更为突出。Simpson方法的精度比梯形积分高了一个数量级,它的代数精度比梯形积分的代数精度高,能更好地近似积分值;因此,一般情况下,代数精度越高,积分公式计算精度也越高。Romberg方法收敛速度快、计算精度较高,但是计算量较大;但是当借点加密提高积分近似程度时,前面计算结果可以作为后面使用,隐次可以减少计算量,同时有比较简单的误差估计方法,能够同时得到若干积分序列。Gauss求积方法积分精度高、数值稳定、收敛速度较快,但是节点增加时,前面计算的函数值不能利用,必须重新计算。

引用文献
[1] 张德丰等.MATLAB数值计算方法[M].北京:机械工业出版社,2010.
[2] 郑继明等.数值计算方法[M].重庆:重庆大学出版社,2005.
[3] 樊守芳.Newton-Cotes数值求积公式的注记[J]. 枣庄学院学报,2011,28(2):186-190.
[4] 余丹.用Simpson公式进行数值积分[J]. 华北电力大学数理系学报,2010,(23):189-190.
[5] Davis,P.J.and P.Rahinowitz.Methods of Numerical integration(second edition)[M]. Academic Press. New York,1984.

原创文章,作者:Editor,如若转载,请注明出处:http://www.diyilunwen.com/lwfw/shuxue/1069.html

(0)
EditorEditor
上一篇 2014年10月12日
下一篇 2014年10月12日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注