網站首頁 健康小知識 母嬰教育 起名 運動知識 職場理財 情感生活 綠色生活 遊戲數碼 美容 特色美食 愛好
當前位置:酷知知識幫 > 遊戲數碼 > 電腦

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

欄目: 電腦 / 發佈於: / 人氣:3.13W

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