exponenta event banner

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 функция для вычисления двойного интеграла fun(x,y) над прямоугольником xmin <= x <= xmax, ymin <= y <= ymax. Входной параметр, fun, является указателем на функцию, который принимает вектор x, а скаляр y, и возвращает вектор значений integrand.

Параметризация функций объясняет, как предоставить дополнительные параметры функции fun, при необходимости.

q = dblquad(fun,xmin,xmax,ymin,ymax,tol) использует tol допуска вместо значения по умолчанию, которое 1.0e-6.

q = dblquad(fun,xmin,xmax,ymin,ymax,tol,method) использует квадратурную функцию, заданную как method, вместо quad по умолчанию. Допустимые значения для method являются @quadl или указатель на функцию пользовательского квадратурного метода, который имеет ту же последовательность вызовов, что и quad и quadl.

Примеры

Передайте указатель на функцию @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 функция интегрируется y*sin(x)+x*cos(y) по квадрату pi <= x <= 2*pi, 0 <= y <= pi. Обратите внимание, что интегранд может быть оценен с помощью вектора 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