ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

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);

無名関数ハンドル F を関数 dblquad に渡します。

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)

参考

| | | | | | | |

この情報は役に立ちましたか?