梯形法与辛普森法求定积分有什么区别

梯形法

梯形法就是在每个小区间上,以窄体形的面积近似代替窄曲边梯形的面积。工科微积分中定积分章节就是用梯形法

梯形法计算积分命令

z=trapz(x,y)

例子1 求积分[0,1]e^(-x*x)的值

>> clear
>> x=0:0.05:1;
>> y=exp(-x.^2);
>> z=trapz(x,y)

z =

    0.7467

>> 

辛普森法(抛物线法)

假若f在[a,b]区间上积分的Simpson公式,用通过三点(a,f(a)),((a+b)/2,f(a+b)/2),(b,f(b))的抛物线围成的曲边梯形的面积代替由f围成的曲边梯形的面积,由此计算。matlab对应的quad函数

z=quad(f,a,b,tol)
f(x)为被积函数
a为积分下限
b为积分上限
tol 为计算精度,缺省为0.001

例子:用辛普森法求梯形法里的定积分值

g采用的是内联函数

>> clear
>> g=inline('exp(-x.^2)');
>> z=quad(g,0,1)

z =

    0.7468

>> 

总结

大家会发现辛普森法和梯形法求积分只是方法定义上有区别,但在实验结果上其实区别不大。如果大家在求高精度数值积分,一般使用广泛的是辛普森法!因为辛普森法延伸出的函数有两个

z=quadl(f,a,b,tol)

对应的是自适应复合Lobatto数值积分法

z=quadgk(f,a,b,tol)

对应的是自适应复合Gauss-Kronrod数值积分法,适应于高精度和振荡数值积分法,以及广义数值积分。
用法与quad函数类似

猜你喜欢

转载自blog.csdn.net/m0_37149062/article/details/106867232
今日推荐