写的很烂,勿喷
数值积分目前已经有很多方法计算,例如矩形法、梯形法、抛物线法(Simpson法)等。但是这些方法对于较复杂的被积函数,收敛速度就显得慢了。
看梯形法和抛物线法的表达式,会发现这两个方法的结果可以理解为一系列点的函数值,乘上某个系数后求和。这两种方法都是均匀分割区间来进行求和,至少具有
n−1的代数精度。而高斯积分法并不是均匀分割区间,而是计算不同高斯节点,乘以每个点的权重后再求和。它具有
2n+1的代数精度,可精确处理
2n+1次以下多项式积分。
高斯积分法处理
[−1,1]上的
f(x)。我们可以用区间变换实现处理
[a,b]。这里介绍高斯积分法如何进行数值计算。高斯积分法可理解为以下公式:
∫−11f(x)dx=∑j=0nwjf(xj)
高斯积分法节点使用勒让德多项式计算。
勒让德(Legendre)多项式满足以下性质:当某个多项式
P(x)的次数小于
n时,有
∫−11P(x)Pn(x)dx=0
并且满足递推关系:
Pn+1(x)=n+12n+1xPn(x)−n+1nPn−1(x) (n=1,2,…)
这样,我们便求得
P1(x)=x
P2(x)=23x2−1
以此类推。
n阶高斯积分法的节点便是
Pn(x)的根。注意到,
Pn(x)的根全部处于
[−1,1]上,它具有
n个实根。
wi=(1−xi2)(Pn′(xi))22
例如:要计算
∫−11x2dx
这里我们选用2阶高斯积分公式。先求
P2(x)=23x2−1
的根,注意到是
[−31,31]
也就是
[−0.5773502691896257,0.5773502691896257]。
再求出权重
w=[1,1]。代入得
∫−11x2dx≈(−31)2+(31)2=32
这方法只计算了2次得到了准确结果。
以上便是高斯积分法的基本思路。在实际应用时,我们可以提前计算好节点和权重,之后直接调用。