dblquad
(Not recommended) Numerically evaluate double integral over rectangle
dblquad is not recommended. Use integral2 instead.
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)
Description
q = dblquad(fun,xmin,xmax,ymin,ymax) calls
the quad function to evaluate the double
integral fun(x,y) over the rectangle xmin <= x <=
xmax, ymin <= y <= ymax. The input argument,
fun, is a function handle that accepts a vector
x, a scalar y, and returns a vector of
integrand values.
Parameterizing Functions explains how to
provide additional parameters to the function fun, if
necessary.
q = dblquad(fun,xmin,xmax,ymin,ymax,tol) uses
a tolerance tol instead of the default, which is
1.0e-6.
q = dblquad(fun,xmin,xmax,ymin,ymax,tol,method)
uses the quadrature function specified as method, instead of the
default quad. Valid values for method are
@quadl or the function handle of a user-defined quadrature method
that has the same calling sequence as quad and
quadl.
Examples
Pass function handle @integrnd to
dblquad:
Q = dblquad(@integrnd,pi,2*pi,0,pi);
where the function integrnd.m is:
function z = integrnd(x, y) z = y*sin(x)+x*cos(y);
Pass anonymous function handle F to
dblquad:
F = @(x,y)y*sin(x)+x*cos(y); Q = dblquad(F,pi,2*pi,0,pi);
The integrnd function integrates
y*sin(x)+x*cos(y) over the square pi <= x <=
2*pi, 0 <= y <= pi. Note that the integrand can
be evaluated with a vector x and a scalar
y.
Nonsquare regions can be handled by setting the integrand to zero outside of the region. For example, the volume of a hemisphere is:
dblquad(@(x,y)sqrt(max(1-(x.^2+y.^2),0)), -1, 1, -1, 1)
or
dblquad(@(x,y)sqrt(1-(x.^2+y.^2)).*(x.^2+y.^2<=1), -1, 1, -1, 1)
Version History
Introduced before R2006a