В этом примере показано, как разделить область интегрирования, чтобы разместить особенность на контуре.
Интеграл комплексного интеграла
имеет особенность, когда x = y = 0
и в целом сингулярна на линии y = -x
.
Задайте этот интегранд с помощью анонимной функции.
fun = @(x,y) ((x+y).^(-1/2));
Интеграция fun
в квадратной области, заданной как и .
format long
q = integral2(fun,-1,1,-1,1)
Warning: Non-finite result. The integration was unsuccessful. Singularity likely.
q = NaN + NaNi
Если во внутренней части области интегрирования имеются сингулярные значения, интеграция не сходится и возвращает предупреждение.
Можно переопределить интеграл, разделив область интегрирования на дополнительные части и добавив меньшие интеграции вместе. Избегайте ошибок интегрирования и предупреждений путем размещения особенностей на контуре области. В этом случае можно разделить квадратную область интегрирования на два треугольника вдоль сингулярной линии y = -x
и добавьте результаты.
q1 = integral2(fun,-1,1,-1,@(x)-x); q2 = integral2(fun,-1,1,@(x)-x,1); q = q1 + q2
q = 3.771236166328258 - 3.771236166328255i
Интегрирование выполняется успешно, когда сингулярные значения находятся на контуре.
Точное значение этого интеграла
8/3*sqrt(2)*(1-i)
ans = 3.771236166328253 - 3.771236166328253i
integral
| integral2
| integral3