Численно вычислите тройной интеграл
integral3
функция пытается удовлетворить:
abs(q - Q) <= max(AbsTol,RelTol*abs(q))
q
- вычисленное значение интеграла и Q
- (неизвестное) точное значение. Абсолютные и относительные погрешности обеспечивают способ снижения точности и времени расчета. Обычно относительная погрешность определяет точность интегрирования. Однако, если abs(q)
является достаточно маленьким, абсолютная погрешность определяет точность интегрирования. Обычно необходимо задать как абсолютные так и относительные погрешности вместе. The 'iterated'
способ может быть более эффективным, когда ваша функция имеет разрывы в области интегрирования. Однако лучшая эффективность и точность происходит, когда вы разделяете интеграл в точках разрыва и суммируете результаты нескольких интегрирований.
При интегрировании по непрямоугольным областям лучшая эффективность и точность происходит, когда любой или все пределы: ymin
, ymax
, zmin
, zmax
являются указателями на функцию. Избегайте установки значений функции интегранда в нуле для интегрирования по непрямоугольной области. Если вы должны сделать это, задайте 'iterated'
способ.
Используйте 'iterated'
метод, когда любой или все пределы: ymin(x)
, ymax(x)
, zmin(x,y)
, zmax(x,y)
являются неограниченными функциями.
При параметризации анонимных функций имейте в виду, что значения параметров сохраняются в течение срока службы указателя на функцию. Для примера - функция fun = @(x,y,z) x + y + z + a
использует значение a
в то время fun
был создан. Если вы позже решите изменить значение a
необходимо переопределить анонимную функцию новым значением.
Если вы задаете пределы интегрирования с одной точностью, или если fun
возвращает результаты с одной точностью, вам может потребоваться задать большие абсолютные и относительные допуски.
Чтобы решить интегралы 4-D и более высокого порядка, можно вложить вызовы в integral
, integral2
, и integral3
. Другая опция - использовать integralN
функция на MATLAB® Обмен файлами, который решает интегралы порядков 4 - 6.
[1] L.F. Shampine «Vectorized Adaptive Quadrature in 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.