| 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 | ![]() |