Main Content

dblquad

(不推荐)矩形区域上的二重积分的数值计算

不推荐使用 dblquad。请改用 integral2

语法

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) 调用 quad 函数来计算 xmin <= x <= xmaxymin <= y <= ymax 矩形区域上的二重积分 fun(x,y)。输入参数 fun 是一个函数句柄,它接受向量 x,标量 y,并返回被积函数值的向量。

参数化函数解释了如何为函数 fun 提供其他参数(如果需要)。

q = dblquad(fun,xmin,xmax,ymin,ymax,tol) 使用容差 tol 代替默认值 1.0e-6

q = dblquad(fun,xmin,xmax,ymin,ymax,tol,method) 使用指定为 method 的求积法函数代替默认值 quadmethod 的有效值为 @quadl 或用户指定的求积法的函数句柄,该句柄与 quadquadl 具有相同的调用顺序。

示例

将函数句柄 @integrnd 传递给 dblquad

Q = dblquad(@integrnd,pi,2*pi,0,pi);

其中,函数 integrnd.m 为:

function z = integrnd(x, y) 
z = y*sin(x)+x*cos(y);

将匿名函数句柄 F 传递给 dblquad

F = @(x,y)y*sin(x)+x*cos(y);
Q = dblquad(F,pi,2*pi,0,pi);

integrnd 函数可以对正方形 pi <= x <= 2*pi0 <= y <= pi 计算 y*sin(x)+x*cos(y) 的积分。注意,可以使用向量 x 和标量 y 计算被积函数。

非正方形区域可以通过将被积函数设置为位于区域外部的零进行处理。例如,半球的体积为:

dblquad(@(x,y)sqrt(max(1-(x.^2+y.^2),0)), -1, 1, -1, 1)

dblquad(@(x,y)sqrt(1-(x.^2+y.^2)).*(x.^2+y.^2<=1), -1, 1, -1, 1)

版本历史记录

在 R2006a 之前推出