玩转 matlab 之一维 gauss 数值积分公式及matlab源代码

本文介绍了如何在MATLAB中应用一维Gauss数值积分公式进行数值积分,并通过两个函数的实验对比了Gauss积分与MATLAB内置integral函数的结果,展示了随着Gauss点数增加,积分精度提升的过程。实验表明,对于多数问题,2点或3点的Gauss公式已具备高精度。
摘要由CSDN通过智能技术生成


在数值分析中,尤其是 有限元刚度矩阵、质量矩阵等的计算中,必然要求如下定积分:
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 2n1,其选择如下表,(这里仅仅举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<
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值