使用dblquad函数可以对二重积分进行数值计算。该函数的语法格式如下。
q=dblquad(fun,xmin,xmax,ymin,ymax):调用quad函数对fun(,x,y)函数进行二重积分运算,积分区间为xmin <= x <= xmax,ymin <= y <= ymax。fun参数是一个M文件函数或匿名函数的句柄。fun(x,y)函数必须接受向量x和标量y,并返回积分值组成的向量。
q=dblquad(fun,xmin,xmax,ymin,ymax,tol):用误差容限tol代替默认的误差容限1.0e-6。
q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method):用method参数指定积分方法,代替默认的quad函数。method还可以被指定为@quadl或用户指定的函数句柄。该函数必须与quad和quadl函数具有相同的语法格式。
【例26】用dblquad函数求二重积分\(\int_{0}^{\pi} {\int_{\pi}^{2\pi} {(y\operatorname{sin}{(}x)+x\operatorname{cos}{(}y))dxdy}}\)的数值近似。
首先,建立函数的M文件integrnd.m,代码为
code.matlab
function z = integrnd(x, y)
z = y*sin(x)+x*cos(y);
然后,在命令窗口中输入
code.matlab
>> Q = dblquad(@integrnd,pi,2pi,0,pi)
Q=
-9.8696