您的位置首页生活百科

MATLAB计算二重数值积分(dblquad)

MATLAB计算二重数值积分(dblquad)

的有关信息介绍如下:

MATLAB计算二重数值积分(dblquad)

当被积分函数为二元函数f(x,y),积分变量为dxdy时称为二重积分。MATLAB提供了dblquad( )函数命令计算二重数值积分。dblquad的调用格式为Q=dblquad(function,xmin,xmax,ymin,ymax,tol,’Method’),其中function为被积分的二元函数,xmin,xmax,ymin,ymax分别为积分变量x,y的上下限,tol为绝对计算精度,method是计算一维积分的方法,一般有Simpson法(即quad,默认)和Lobatto法(即quadl),Q是返回计算的二重数值积分结果。

第一,使用MATLAB计算下图中的二重积分。

第二,启动MATLAB,新建脚本(Ctrl+N),输入如下代码:

close all; clear all; clc

figure('Position',[50,50,600,500],'Name','double integration')

f=@(x,y) x*sin(y)-cos(x)+y-3;

Q1=dblquad(f,0,2*pi,-pi,pi,1.0e-3)

x=linspace(0,2*pi);y=linspace(-pi,pi);

ff=x.*sin(y)-cos(x)+y-3;

plot3(x,y,ff,'r','LineWidth',3)

grid on; view(35,35)

xlabel('x','FontSize',15); ylabel('y','FontSize',15)

其中Q1=dblquad(f,0,2*pi,-pi,pi,1.0e-3)采用默认方法quad计算二重积分,绝对计算精度设为1.0e-3。

plot3(x,y,ff,'r','LineWidth',3)是绘制被积分函数ff=x.*sin(y)-cos(x)+y-3的图像。

第三,保存和运行上述脚本,在命令行窗口(Command Window)得到如下结果:

Q1 =

-118.4351

也就是说,该二重数值积分的结果为-118.4351.

第四,同时得到被积分函数x.*sin(y)-cos(x)+y-3的图像。

第五,在Q1=dblquad(f,0,2*pi,-pi,pi,1.0e-3)后面再添加一行命令,Q2=dblquad(f,0,2*pi,-pi,pi,1.0e-3,'quadl')。也就是在绝对计算精度都是1.0e-3的情况下,使用quadl方法计算二重数值积分。

第六,保存和运行上述脚本,在命令行窗口(Command Window)得到采用quad方法(默认)和quadl方法计算的二重数值积分结果。

Q1 =

-118.4351

Q2 =

-118.4355

也就是说,采用采用quad方法(默认)计算的二重数值积分结果为-118.4351,而采用quadl方法计算的二重数值积分结果为-118.4355,两者在小数点第四位略有差别。