| MATLAB Function Reference | ![]() |
Syntax
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,...)
Description
q = dblquad(fun,xmin,xmax,ymin,ymax)
呼叫 quad 函數在矩形 xmin <= x <= xmax,ymin <= y <= ymax 間求雙重積分 fun(x,y)。fun(x,y) 必須接受一個向量 x 和一個純量 y 然後回傳一個被積函數值的向量。
q = dblquad(fun,xmin,xmax,ymin,ymax,tol)
用一個容忍度 tol 來取代預設值 1.0e-6。
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,...) 相同。
Example
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)
See Also
inline, quad, quadl, @ (function handle)
| dbdown | dbmex | ![]() |