酷知百科網

位置:首頁 > 遊戲數碼 > 電腦

MATLAB計算二重數值積分(dblquad)

電腦3.2W

當被積分函數爲二元函數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稱爲外積分變量。