实际应用中在MATLAB里面都有开发好的命令可以使用,如 quad(), quadl(),quad2d(),triplequad() 。需要掌握这些命令的用法。
1. 定积分 trapz(),quad(),quadl()
trapz() 函数采用复化梯形公式求积分,其使用格式为
I = trapz(x,y)
参数x为自变量,y为节点处的值,返回值为积分的近似值。
quad() 函数采用自适应步长是Simpson 求积法,其格式为
I = quad(fun,a,b,tol)
参数 fun 为被积函数 $f(x)$;a,b 分别为变量~$x$ 的积分下限和上限; tol 为积分精度要求,默认为1e-6($10^{-6}$)
计算定积分 $\displaystyle{\int_0^1\dfrac{d x}{1+x^2}}.$
>> I = quad(@(x)1./(1+x.^2),0,1)
I =
0.7854
精确解为 $\dfrac{\,\pi\,}{4}$.
计算二重积分
$$\iint\limits_D\sqrt{|y-x^2|}dxdy,D =\{(x,y)|-1\leqslant x \leqslant 1, 0\leqslant y\leqslant 2\}.$$
>> fun = @(x,y)(sqrt(abs(y-x.^2)))
>> I = dblquad(fun,-1,1,0,2)
I =
3.2375
精确解为 $\dfrac{\,5\,}{3}+\dfrac{\,\pi\,}{2}$.