复化求积方法对提高积分精度是行之有效的,但必须事先给出恰当的步长h。如果步长太长,则难以保证精度,太小则增加计算量。在实际应用中,一般采用变步长积分法来解决该问题,即让步长不断减小,考察在不同步长条件下的计算结果的精度,一旦计算结果满足精度要求,则可以停止计算,给出正确答案。这是面向计算机的解决方案。在人工计算的条件下,一般采用一种特殊的变步长法,即采用逐次二分积分区间的方法得到不断减半的步长,再应用复化求积方法,可推导出某种递推公式,既可减少计算量,又可以较快地达到计算精度的要求。
- 变步长梯形法
对于,将积分区间分成n等分,则共有个分点:
设此时用复化梯形公式求得的积分值为。进一步地,将积分区间分成2n等分,则共有个分点,设此时用复化梯形公式求得的积分值为。显然,在计算的过程中所用的分点有一半是计算时用过的,重复计算是浪费。为此,有必要研究和之间的关系。
对于任意一个子区间,用梯形公式计算的积分值记为,在其中间增加一个节点后,用复化梯形公式计算的积分值为。则有:
分析和的关系,可得:
所以
或
式中,为区间分成n等分再次二分而增加的新节点的函数值之和。要特别注意的是为区间分成n等分的步长,为区间分成2n等分的步长,。
如果将区间继续分成4n等分、8n等分、···、2n(i=0,1,···)等分,均可按照公式(1)递推计算出来。
在实际计算中,利用某二分前后两次积分值之差的绝对值,来判断积分近似值是否满足精度要求。
- 变步长梯形法的误差
在变步长梯形法中,把区间分成n等分后,用复化梯形公式计算积分I的近似值为,截断误差为:
把区间分成2n等分后,用复化梯形公式计算积分I的近似值为,截断误差为:
当在区间上变化不大时,有,故
整理,得事后误差估计式为:
也就是说,用前后两次计算的结果之差来估计误差,两者越接近则精度越高。这是所谓的误差的时候估计。将和的误差补偿给,得到比更精确的积分近似值: