MATLAB Function Reference | ![]() ![]() |
表示
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,tol,method,p1,p2,...)
詳細
q = dblquad(fun,xmin,xmax,ymin,ymax)
は、関数quad
をコールして、長方形xmin <= x <= xmax
, ymin <= y <= ymax
の範囲で、関数 fun(x,y)
の2重積分を計算します。 fun(x,y)
は、ベクトルx
とスカラy
を入力して、被積分関数のベクトルを出力します。
q = dblquad(fun,xmin,xmax,ymin,ymax,tol)
は、デフォルト値 1.0e-6
の代わりにトレランス tol を使います。
q = dblquad(fun,xmin,xmax,ymin,ymax,tol,method)
は、デフォルトのquad
の代わりに指定した求積関数を使います。method
に対する正しい値は、@quadl
、または、quad
や quadl
で同じコール手法をもつユーザ定義の求積法の関数ハンドルのいずれかです。
dblquad(fun,xmin,xmax,ymin,ymax,tol,method,p1,p2,...)
は、付加的なパラメータ p1,p2,... を fun(x,y,p1,p2,...)
に渡します。tol
、または、method
に設定を行わない場合、[]
を使います。dblquad(fun,xmin,xmax,ymin,ymax,[],[],p1,p2,...)
は、dblquad(fun,xmin,xmax,ymin,ymax,1.e-6,@quad,p1,p2,...)
と同じです。
例題
Q = dblquad(inline('y*sin(x)+x*cos(y)'), pi, 2*pi, 0, pi)
Q = dblquad(@integrnd, pi, 2*pi, 0, pi)
function z = integrnd(x, y) z = y*sin(x)+x*cos(y);
関数integrnd
は、正方形pi <= x <= 2*pi
, 0 <= y <= pi
の区間で、y*sin(x)+x*cos(y)
を積分します。積分子は、ベクトルx
とスカラ y
を使って、計算することができます。
正方形でない領域は、積分子の中で、外側の部分をゼロに設定して取り扱います。たとえば、半球の体積は、
dblquad(inline('sqrt(max(1-(x.^2+y.^2),0))'),-1,1,-1,1)
dblquad(inline('sqrt(1-(x.^2+y.^2)).*(x.^2+y.^2<=1)'),-1,1,-1,1)で、計算します。
参考
inline
, quad
, quadl
, @
(関数ハンドル)
![]() | dbdown | dbmex | ![]() |