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 <= xmax
、ymin <= 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
か、または quad
や quadl
と同じ呼び出しシーケンスをもつユーザー定義の求積法の関数ハンドルです。
例
関数ハンドル @integrnd
を dblquad
に渡します。
Q = dblquad(@integrnd,pi,2*pi,0,pi);
関数 integrnd.m
は次のようになります。
function z = integrnd(x, y) z = y*sin(x)+x*cos(y);
無名関数ハンドル F
を dblquad
に渡します。
F = @(x,y)y*sin(x)+x*cos(y); Q = dblquad(F,pi,2*pi,0,pi);
関数 integrnd
は、pi <= x <= 2*pi
、0 <= 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 より前に導入