在数值分析中,尤其是 有限元刚度矩阵、质量矩阵等的计算中,必然要求如下定积分:
I = ∫ a b f ( x ) d x I=\int_a^b f(x)dx I=∫abf(x)dx学好 gauss积分也是学好 有限元的重要基础,学过高等数学的都知道,手动积分能把人搞死(微笑脸),而且有些函数还不存在原函数,使用原始的手动算出原函数几乎是不现实的。因此非常有必要学习数值积分,简单讲就是近似计算,只要这个近似值精确度高和稳定性好就行。Gauss积分公式就是这么一个非常好用的工具。本文介绍高斯积分公式的使用以及简单的数值算例。
标准区间
先考虑特殊情况,对于一般区间呢?待会会处理这个问题。
I = ∫ − 1 1 f ( x ) d x I=\int_{-1}^1 f(x)dx I=∫−11f(x)dx
不加证明的直接给出gauss公式如下:详情参阅任何一本数值分析书都有详细的证明过程:
I = ∫ − 1 1 f ( x ) d x = Σ i = 1 n A i f ( x i ) I=\int_{-1}^1 f(x)dx=\Sigma_{i=1}^n A_if(x_i) I=∫−11f(x)dx=Σi=1nAif(xi)
其中 A i A_i Ai称作权, x i x_i xi称作 gauss 点。
下面的问题就是如何选择 n , A i , x i n,A_i,x_i n,Ai,xi。
理论表明n个点的Gauss公式代数精度为 2 n − 1 2n-1 2n−1,其选择如下表,(这里仅仅举1-4个点情况,实际使用的时候一般2点或者3点的精度已经完全够了)更多积分点可参考 gauss表.
gauss点个数 n n n | gauss 点 x i x_i xi | 权重 A i A_i Ai | 精度 |
---|---|---|---|
1 | x 1 x_1 x1=0 | A 1 A_1 A1=2 | 1 |
2 | x 1 , 2 = ± 1 / 3 x_{1,2}=\pm1/\sqrt{3} x1,2=±1/3 | A 1 = A 2 = 1 A_1=A_2=1 A1< |