(Не рекомендуемый) Численно вычислите двойной интеграл по прямоугольнику
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)