数值积分的实现方法 1.变步长辛普生法 基于变步长辛普生法,MATLAB 给出了qu ad 函数来求定积分
该函数的调用格式为: [I,n]=qu ad('fname',a,b,tol,trace) 其中fname 是被积函数名
a 和b 分别是定积分的下限和上限
tol 用来控制积分精度,缺省时取tol=0
trace 控制是否展现积分过程,若取非0 则展现积分过程,取0 则不展现,缺省时取trace=0
返回参数I 即定积分值,n 为被积函数的调用次数
例8-1 求定积分
(1) 建立被积函数文件fesin
fu nction f=fesin(x ) f=ex p(-0
*sin(x +pi/6); (2) 调用数值积分函数qu ad 求定积分
[S,n]=qu ad('fesin',0,3*pi) S = 0
9008 n = 77 2.牛顿-柯特斯法 基于牛顿-柯特斯法,MATLAB 给出了qu ad8 函数来求定积分
该函数的调用格式为: [I,n]=qu ad8('fname',a,b,tol,trace) 其中参数的含义和qu ad 函数相似,只是tol 的缺省值取10-6
• 该函数可以更精确地求出定积分的值,且一般情况下函数调用的步数明显小于qu ad 函数,从而保证能以更高的效率求出所需的定积分值
(1) 被积函数文件fx
fu nction f=fx (x ) f=x
*sin(x )
/(1+cos(x )
*cos(x )); (2) 调用函数qu ad8 求定积分
I=qu ad8('fx ',0,pi) I = 2
4674 分别用qu ad 函数和qu ad8 函数求定积分的近似值,并在相同的积分精度下,比较