matlab⽤⾟普森公式求积分_数值积分常⽤⽅法
数值积分的基本思想
由积分中值定理可知,在积分区间
内存在⼀点
,成⽴
式的⼏何意义即为:底为
⽽⾼为
的矩形的⾯积恰等于所求曲边梯形的⾯积
。因此,要想求出
式左端积分,我们只需要知道三个值:
即可,这⾥
是显然的,问题在于
的具体位置⼀般是不清楚的,从⽽
未知。我们暂且将
称为区间
上的平均⾼度,我们的⽬标就是寻求⼀种求出平均⾼度
的算法,这样我们的问题也就解决了。
⾸先我们想到的是⽤区间两端点的“⾼度”
的算术平均值作为平均⾼度
的近似值,从⽽导出下述求积公式
式即为我们我们熟知的
梯形公式。写出MATLAB函数为
梯形公式。
function
⽽若⽤区间中点
的“⾼度”
近似取代平均⾼度
,则可导出
矩形公式)
中矩形公式(简称 矩形公式
中矩形公式
其MATLAB函数为
function
总结:更⼀般地,我们可以在区间
总结:
上适当选取某些节点
,然后⽤
的加权平均得到平均⾼度
的近似值,这样构造出来的求积公式具有下列通式
其中
称为
求积节点
求积节点,
称为
求积系数,也称作伴随节点
求积系数
权。
这种数值积分⽅法通常称为机械求积
机械求积,其优势在于将积分求值问题归结为被积函数值的计算,很适合在计算机上使⽤。
代数精度
由于数值积分⽅法是近似⽅法,为保证精度,⾃然希望我们的求积公式能够对“尽可能多”的函数准确成⽴,这便提出了代数精度的概念。
如果某个求积公式对于次数不超过
的多项式均能够准确成⽴,但对于
次多项式就不准确成⽴,则称该求积公式具有
次代数精度
代数精确度)。
(或 代数精确度
前⾯提到的梯形公式
和矩形公式
均具有⼀次代数精度。
求积公式的收敛性与稳定性
在求积公式
中,若
其中
,则称求积公式
是收敛的。
收敛
对任给
,若
,只要
就有
成⽴,其中
为计算
时产⽣误差
后实际得到的值,即
,则称求积公式
是稳定的。
稳定
定理
若求积公式
中系数
,则此求积公式是稳定的。
⽜顿-柯特斯(Newton-Cotes)公式
将积分区间
划分为
等份,此时步长为
,选取等距节点
构造出的插值型求积公式⽜顿-柯特斯(Newton-Cotes)公式,其中
称为⽜顿-柯特斯(Newton-Cotes)公式
称为
柯特斯系数。可以通过下式确定
柯特斯系数。
时,
这时的求积公式便是之前的梯形公式
时,
此时对应的求积公式便是⾟普森(Simpson)公式:
写成MATLAB函数为function
时的⽜顿-柯特斯公式则特别称为柯特斯公式,其形式为
柯特斯公式
这⾥
其MATLAB代码为
function
复合求积公式
由于⽜顿-柯特斯公式在
时不具有稳定性,故不可能再通过提⾼阶的⽅法来提⾼求积精度。
复合求积法便是通过把积分区间分成若⼲个⼦区间(通常是等分),再在每个⼦区间上使⽤低阶求积公式的⽅法来提⾼精度的。
复合求积法
复合⾟
复合梯形公式和复合⾟其实细⼼的同学可以发现,前⾯我所展⽰的MATLAB代码使⽤的便是对每个求积公式使⽤复合法完成的。常⽤的有复合梯形公式matlab定义函数表达式
普森公式。
普森公式
龙贝格(Romberg)求积公式
前⾯介绍的复合求积⽅法可提⾼求积精度,如若精度仍不够,则可通过将步长逐次减半的⽅式来提⾼精度。如对复合梯形公式可导出其递推公式
其中
表⽰在
基础上步长
减半后的积分值。
定理
,则有
其中
系数
⽆关。
式可以看出,
阶,若⽤
代替
,有
再⽤
式再减去
式后再除以
这⾥
是与
⽆关的系数。
式可看出,⽤近似积分值
,其误差阶为
,显然误差阶是提⾼了。类似这种将计算
的近似值的误差阶由
提⾼到
的⽅法称为
理查德森(Richardson)外推算法。
外推算法,也称为 理查德森(Richardson)外推算法
外推算法
这是“数值分析”中⼀个重要的技巧,只要真值与近似值的误差能够表⽰成
的幂级数,如
式所⽰,都可以使⽤外推算法,提⾼精度。
龙贝格(Romberg)算法
次外推加速为
余项为
理查德森外推加速⽅法。
此⽅法常称为理查德森外推加速⽅法
设⽤
表⽰⼆分
次后求得的梯形值,且以
表⽰序列
次加速值,则由递推公式
可得
龙贝格求积算法,计算过程如下:
上次则称为龙贝格求积算法
1. 取
,求
(
记区间
的⼆分次数)。
2. 求梯形值
,即按递推公式
计算
3. 求加速值。
4. 若
(预先给定的精度),则终⽌计算,并且
否则令
继续计算。
MATLAB代码为
function
⾃适应积分⽅法
复合求积⽅法通常适⽤于被积函数变化不太⼤的积分,如果在求积区间中被积函数变化很⼤,有的部分函数值变化剧烈,另⼀部分却变化平缓。这时如果统⼀将区间等分再⽤复合求积公式计算积分将会导致计算量很⼤,我们想实现的是在满⾜误差要求的前提下,对变化剧烈部分将区间细分,⽽平缓部分则可使⽤⼤步长,也即针对被积函数在区间上不同情形采⽤不同的步长,使得再满⾜精度前提下积分计算⼯作量尽
⾃适应积分⽅法的基本思想。
可能⼩。其算法技巧是在不同区间上预测被积函数变化的剧烈程度确定相应步长。这就是⾃适应积分⽅法
下⾯是⼀个基于复合⾟普森法的⾃适应积分算法的MATLAB代码:
function
下⾯我们计算积分

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。