数值积分的基本思想、术语及Maltab实现

2016-04-22 07:50杨亚辉李志平齐圆华海南软件职业技术学院海南琼海571400
山东工业技术 2016年1期

杨亚辉,李志平,齐圆华(海南软件职业技术学院,海南 琼海 571400)



数值积分的基本思想、术语及Maltab实现

杨亚辉,李志平,齐圆华
(海南软件职业技术学院,海南琼海571400)

摘 要:介绍了数值积分的基本思想、术语及MATLAB实现。

关键词:数值积分,Newton-Cotes公式;高斯求积法;自适应求积法;MATLAB

1 引语

用牛顿-莱布尼兹公式(Newton-leibniz formula)计算定积分在理论和解决实际问题中有很大的作用,但求解积分仍有很多困难。如涉及的初等函数的积分没有或很难找到其有由初等函数构成的解析表达式。或被积函数没有函数表达式,只是一些由实验数据或计算机的模拟输出得到的函数关系(表格或图形)。因此,探讨近似计算的数值积分方法是有明显的实际意义的。

在这些情况下, 必须对定积分

的值进行数值逼近(近似),这就是数值积分(numerical integration)。我们来看两个例子:

例1:制造椭圆管

用平板材料制造椭圆管。为构成一个轴长分别为a和b的椭圆,首先要找一个宽为L=2 aE的薄板,其中E是完全椭圆的积分

k2=。E没有初等函数的理论分析表达式。

例2:用数值积分求误差函数

误差函数erf( x )

常出现在统计应用和一些抛物线类的微分方程的解中。方程(1)的积分也不能通过解析的办法求值。数值积分在积分的解析式已知时也很有用,但是这样做计算起来会有困难或不方便。对数值积分方法的选择多少与f( x )的性质或类型有关。所有的数值积分方法都要求f( x )可以在区间的任意x上求值。如果f( x )有奇异点(即对区间上的某些x*来说有,就要特别警惕。到目前为止,还没有任何一种数值积分法可以适用于所有的积分。

2 数值积分的基本思想和术语

数值积分也叫数值求积(numerical quadrature)。术语“求积”的本意是“求与某个平面图形有相同面积的正方形的边长”。这表明了数值积分的一个基本的计算策略:考虑定积分,

在积分所限定的区间中,被积函数f( x )的插值式在n个点处求值,这些点称为节点(node)。节点用xi表示,并假设它们有序且各不相同(即。

已经知道,分段多项式的插值比单个多项式的全局插值更加优秀,这个结论对数值积分方法也适用。将整个闭区间[a , b ]划分为N个小段(panel)。在每个小段上对f( x )进行低阶多项式逼近。对每个小段上的逼近多项式积分时,就得到基本公式(basic rule):)。

基本公式涉及用足够的(x , f ( x ))对来定义分段多项式的某一段,将此公式应用到N个小段并把结果相加得到了复合公式(composite rule),或称为扩展公式(extended rule):

截断误差可用代数精度衡量,代数精度越高,误差越小;反之误差越大。代数精度是用来衡量数值积分公式近似程度的办法,如果是一个次数不超过m的代数多项式,(2)式等号成立;而当是一个m + 1次多项式时,(3)式不能精确成立,则称(3)式的代数精度为m。

在一个小段中节点的位置和数目决定了基本公式的很多重要特性。当节点均匀分布时,所用的积分公式就叫做Newton-Cotes公式。相反,高斯求积公式要选择作为正交多项式零点的节点。高斯求积公式的截断误差比相同数目节点的Newton-Cotes公式的要小得多。虽然高斯求积公式难于推导,但是在程序中实现时不会有明显的困难。

自适应(adaptive)数值积分法通过估计截断误差来决定是否需要更密的分布节点,从而达到指定精度。若需要增加节点,函数会在新节点处重新求值,截断误差也要重新估计。

3 数值积分的Maltab实现

MATLAB符号数学工具箱(Symbolic Math Toolbox)求数值积分的常用命令如下:

矩形公式命令sum(y) %输出一个向量y的分量的和,按矩形公式计算积分的近似值。

梯形公式命令trapz(x,y)%输入向量x=[x0,x1,…,xn],输出同维数的向y=[f0,f1,… ,fn],按梯形公式计算积分近似值。

梯形公式命令trapz(y)%按梯形公式计算积分,但取步长h=1.辛普森公式quad('fun',a,b)%计算函数fun从a到b的定积分,自动选择步长,误差为10-3。

辛普森公式quad8('fun',a,b)%用高精度计算,效果比quad更好。

参考文献:

[1]Gerala Reckttenwald(美).数值方法和Mtalab实现与应用[M].北京:机械工业出版社.

[2]王能超.计算方法简明教程[M].北京:高等教育出版社,2004.

[3]姜健飞.数值分析及其Matlab实验[M].北京:科学出版社,2004.

[4]黄明游.数值计算方法[M].北京:科学出版社,2005.

基金项目:海南省自然科学基金资助项目(编号:112008)

DOI :10.16640/j.cnki.37-1222/t.2016.01.250