在前文提到,推导复杂函数的辛普森数值积分公式时,需要将其通过近似插值成抛物线(多项式)形式,原因是多项式的定积分计算简单。所以可以把这种计算用于近似f(x)的积分。辛普森公式是梯形公式的改进形式。另外,我们还可以通过最小二乘法求函数的近似多项式,这种方法称为高斯积分。
对于辛普森公式,可以发现从第三项开始,奇数项的函数值前面的系数为2,从第二项开始,偶数项的函数值前的系数为4。
编程时将其分开。为了方便,σ1和σ2的指标前移1,即
python程序
对于函数y= 5*x^4 ,划分4个区间,程序计算的结果为
辛普森公式的缺点是需要计算很多的函数值。
所幸算法复杂度为 T(n)=O(nlogn),即线性对数时间,可以理解为执行了 n 次对数时间复杂度的操作。
★★★ 往期相关 ★★★