梯形法
梯形法就是在每个小区间上,以窄体形的面积近似代替窄曲边梯形的面积。工科微积分中定积分章节就是用梯形法
梯形法计算积分命令
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函数类似