由积分中值定理可知,在积分区间
式的几何意义即为:底为
的矩形的面积恰等于所求曲边梯形的面积
式左端积分,我们只需要知道三个值:
的具体位置一般是不清楚的,从而
上的平均高度,我们的目标就是寻求一种求出平均高度
的算法,这样我们的问题也就解决了。
首先我们想到的是用区间两端点的“高度”
的算术平均值作为平均高度
的近似值,从而导出下述求积公式
梯形公式。写出MATLAB函数为
中矩形公式(简称 矩形公式)
总结:更一般地,我们可以在区间
的加权平均得到平均高度
的近似值,这样构造出来的求积公式具有下列通式
求积系数,也称作伴随节点
这种数值积分方法通常称为机械求积,其优势在于将积分求值问题归结为被积函数值的计算,很适合在计算机上使用。
由于数值积分方法是近似方法,为保证精度,自然希望我们的求积公式能够对“尽可能多”的函数准确成立,这便提出了代数精度的概念。
如果某个求积公式对于次数不超过的多项式均能够准确成立,但对于
次多项式就不准确成立,则称该求积公式具有
,则此求积公式是稳定的。
构造出的插值型求积公式
柯特斯系数。可以通过下式确定
这时的求积公式便是之前的梯形公式
此时对应的求积公式便是
时的牛顿-柯特斯公式则特别称为
由于牛顿-柯特斯公式在
时不具有稳定性,故不可能再通过提高阶的方法来提高求积精度。
复合求积法便是通过把积分区间分成若干个子区间(通常是等分),再在每个子区间上使用低阶求积公式的方法来提高精度的。
其实细心的同学可以发现,前面我所展示的MATLAB代码使用的便是对每个求积公式使用复合法完成的。常用的有复合梯形公式和复合辛普森公式。
前面介绍的复合求积方法可提高求积精度,如若精度仍不够,则可通过将步长逐次减半的方式来提高精度。如对复合梯形公式可导出其递推公式
式可看出,用近似积分值
,显然误差阶是提高了。类似这种将计算
外推算法,也称为 理查德森(Richardson)外推算法。
这是“数值分析”中一个重要的技巧,只要真值与近似值的误差能够表示成式所示,都可以使用外推算法,提高精度。
此方法常称为理查德森外推加速方法。
次后求得的梯形值,且以
次加速值,则由递推公式
上次则称为龙贝格求积算法,计算过程如下:
(预先给定的精度),则终止计算,并且
复合求积方法通常适用于被积函数变化不太大的积分,如果在求积区间中被积函数变化很大,有的部分函数值变化剧烈,另一部分却变化平缓。这时如果统一将区间等分再用复合求积公式计算积分将会导致计算量很大,我们想实现的是在满足误差要求的前提下,对变化剧烈部分将区间细分,而平缓部分则可使用大步长,也即针对被积函数在区间上不同情形采用不同的步长,使得再满足精度前提下积分计算工作量尽可能小。其算法技巧是在不同区间上预测被积函数变化的剧烈程度确定相应步长。这就是自适应积分方法的基本思想。
下面是一个基于复合辛普森法的自适应积分算法的MATLAB代码:
,可输入下列语句调用上述MATLAB函数进行计算
次代数精度,则称其节点
这里主要包括四种高斯型求积公式,即
这里主要说一下多重积分计算的思路,归结为一句话,就是:多重积分化累次积分,再由里到外使用数值积分公式进行求积计算。