首页 > 编程知识 正文

用matlab求二重积分近似值,MATLAB计算二重积分

时间:2023-05-04 15:23:12 阅读:259858 作者:4630

当被积分函数为二元函数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

plot3

操作方法

01

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

02

第二,启动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的图像。

03

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

Q1 =

-118.4351

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

04

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

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方法计算二重数值积分。

06

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

Q1 =

-118.4351

Q2 =

-118.4355

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

好了,以上就是大致内容了,(END)

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

声明:该文观点仅代表作者本人,天晴资讯网系信息发布平台,仅提供信息存储空间服务。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。