Main Content

dblquad

(非推奨) 長方形上で 2 重積分を数値的に実行

dblquad は推奨されません。代わりに integral2 を使用してください。

構文

q = dblquad(fun,xmin,xmax,ymin,ymax)
q = dblquad(fun,xmin,xmax,ymin,ymax,tol)
q = dblquad(fun,xmin,xmax,ymin,ymax,tol,method)

説明

q = dblquad(fun,xmin,xmax,ymin,ymax) は、関数 quad を呼び出し、xmin <= x <= xmaxymin <= y <= ymax で定義される四角形上で 2 重積分 fun(x,y) を評価します。入力引数 fun は、ベクトル x、スカラー y を受け入れる関数ハンドルであり、被積分関数値のベクトルを返します。

関数のパラメーター化では、必要に応じて関数 fun にパラメーターを追加する方法について説明しています。

q = dblquad(fun,xmin,xmax,ymin,ymax,tol) は、既定値 1.0e-6 の代わりに、許容誤差 tol を使用します。

q = dblquad(fun,xmin,xmax,ymin,ymax,tol,method) は、既定の quad の代わりに、method で指定した求積関数を使用します。method の有効な値は、@quadl か、または quadquadl と同じ呼び出しシーケンスをもつユーザー定義の求積法の関数ハンドルです。

関数ハンドル @integrnddblquad に渡します。

Q = dblquad(@integrnd,pi,2*pi,0,pi);

関数 integrnd.m は次のようになります。

function z = integrnd(x, y) 
z = y*sin(x)+x*cos(y);

無名関数ハンドル Fdblquad に渡します。

F = @(x,y)y*sin(x)+x*cos(y);
Q = dblquad(F,pi,2*pi,0,pi);

関数 integrnd は、pi <= x <= 2*pi0 <= y <= pi で定義された正方形上で y*sin(x)+x*cos(y) を積分します。積分子は、ベクトル x とスカラー y を使って、計算できることに注意してください。

正方形でない領域は、積分子の中で、外側の部分をゼロに設定して取り扱います。たとえば、半球の体積は、以下のようになります。

dblquad(@(x,y)sqrt(max(1-(x.^2+y.^2),0)), -1, 1, -1, 1)

または

dblquad(@(x,y)sqrt(1-(x.^2+y.^2)).*(x.^2+y.^2<=1), -1, 1, -1, 1)

バージョン履歴

R2006a より前に導入