当前位置

首页 > 游戏数码 > 电脑 > MATLAB计算二重数值积分(dblquad)

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

推荐人: 来源: 常识咖 阅读: 3.3W 次

当被积分函数为二元函数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计算二重数值积分(dblquad)

操作方法

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

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

(02)第二,启动MATLAB,新建脚本(Ctrl+N),输入如下代码:close all; clear all; clcfigure('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的图像。

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

(03)第三,保存和运行上述脚本,在命令行窗口(Command Window)得到如下结果:Q1 =-118.4351也就是说,该二重数值积分的结果为-118.4351.

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

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

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

(05)第五,在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方法计算二重数值积分。

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

(06)第六,保存和运行上述脚本,在命令行窗口(Command Window)得到采用quad方法(默认)和quadl方法计算的二重数值积分结果。Q1 =-118.4351Q2 =-118.4355也就是说,采用采用quad方法(默认)计算的二重数值积分结果为-118.4351,而采用quadl方法计算的二重数值积分结果为-118.4355,两者在小数点第四位略有差别。

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

特别提示

按照积分变量dxdy的顺序,x称为内积分变量,y称为外积分变量。