Численно вычислите двойной интеграл
integral2
функция пытается удовлетворить:
abs(q - Q) <= max(AbsTol,RelTol*abs(q))
q
- вычисленное значение интеграла и Q
- (неизвестное) точное значение. Абсолютные и относительные погрешности обеспечивают способ снижения точности и времени расчета. Обычно относительная погрешность определяет точность интегрирования. Однако, если abs(q)
является достаточно маленьким, абсолютная погрешность определяет точность интегрирования. Обычно необходимо задать как абсолютные так и относительные погрешности вместе. The 'iterated'
способ может быть более эффективным, когда ваша функция имеет разрывы в области интегрирования. Однако лучшая эффективность и точность происходит, когда вы разделяете интеграл в точках разрыва и суммируете результаты нескольких интегрирований.
При интегрировании по непрямоугольным областям лучшая эффективность и точность происходит при ymin
, ymax
, (или оба) являются указателями на функцию. Избегайте установки значений функции интегранда в нуле для интегрирования по непрямоугольной области. Если вы должны сделать это, задайте 'iterated'
способ.
Используйте 'iterated'
метод при ymin
, ymax
, (или оба) являются неограниченными функциями.
При параметризации анонимных функций имейте в виду, что значения параметров сохраняются в течение срока службы указателя на функцию. Для примера - функция fun = @(x,y) x + y + a
использует значение a
в то время fun
был создан. Если вы позже решите изменить значение a
необходимо переопределить анонимную функцию новым значением.
Если вы задаете пределы интегрирования с одной точностью, или если fun
возвращает результаты с одной точностью, может потребоваться задать большие абсолютные и относительные допуски.
[1] Векторизованная адаптивная квадратура L.F. Shampine в MATLAB®, "Journal of Computational and Applied Mathematics, 211, 2008, pp.131-140.
[2] L.F. Shampine, «Программа MATLAB for Quadrature in 2D.» Прикладная математика и расчеты. Том 202, Выпуск 1, 2008, стр. 266-274.