复化辛普森公式

复化辛普森公式,第1张

辛普森(Simpson)公式是牛顿-科特斯公式当n=2时的情形,也称为三点公式。利用区间二等分的三个点来进行积分插值。其科特斯系数分别为1/6,4/6,1/6。

设拟柱体的高(两底面α,β间的距离)为H,如果用平行于底面的平面γ去截该图形,所得到的截面面积是平面γ与平面α之间距离h的不超过3次的函数,那么该拟柱体的体积V为

V = H (S_1 + 4S_0 + S_2) /6.

式中,S_1和S_2是两底面的面积,S_0是中截面的面积(即平面γ与平面α之间距离h=H/2时得到的截面的面积)。

复化辛普森公式是复化求积公式的一种。复化求积公式是一类重要的求积公式,指将求积区间分为m个子区间,对每个子区间应用同一求积公式,所得到的复合数值积分公式。

数值积分的计算方法很多,牛顿科特斯方法、龙贝格方法、高斯方法等,其中牛顿科特斯方法是利用插值多项式构造函数积分,但其高阶方法没有收敛性保证,在实际中很少用到。

1、初始化a、b、n。

2、当n是偶数时,计算h=、x(2k-1)、x(2k)。

3、利用辛普森公式计算f(x)的积分。

4、直接利用matlab内部金令quadl进行积分。

如果数值积分的话,使用辛普森方法,利用MATLAB编写程序如下:

function [I] = Simpson(f,a,b)

%功能:求已知数据复合辛普森法的近似积分

%输入参数 f:被积分函数;例 'sin(x)'

%a:积分下限;

%b:积分上限;

%输出参数I:复合辛普森法的近似积分

%

n = 0% 初始化 分割块数

I = 0% 初始化 积分

I1 = 0% 临时 积分

I2 = 0.001% 临时 积分

while abs(I2-I1)>0.00001

n = n + 1

h = (b-a)/n % 初始化 步长

I1 = I2

I2 = 0

for i = 0:n-1

x1 = a + h*i% 子区间左端点

x2 = x1 + h% 子区间右端点

I2 = I2 + (h/6)*( subs( sym(f), findsym(sym(f)),x1 ) ...

+ 4*subs( sym(f), findsym(sym(f)), (x1+x2)/2 ) ...

+ subs( sym(f), findsym(sym(f)), x2 ) )

end

end

I = I2

I = vpa(I,6)%设置变量值的精度为小数点后第五位

最后调用该函数

[I] = Simpson(‘sin(x)’, 0, 2*pi)

就可以得到答案


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11989615.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存