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 |