Main Content

积分域内部的奇点

本示例显示如何拆分积分域以将奇点放在边界上。

将被积函数定义为匿名函数

复值积分的被积函数

-11-111x+ydxdy

x = y = 0 时有一个奇点,并通常是 y = -x 线上的奇异值。

将该被积函数定义为匿名函数。

fun = @(x,y) ((x+y).^(-1/2));

对方形求积分

对由 -1x1-1y1 指定的方域中的 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.771236166328259 - 3.771236166328255i

奇异值在边界上时可继续求积分。

这个积分的精确值是

823(1-i)

8/3*sqrt(2)*(1-i)
ans = 
  3.771236166328253 - 3.771236166328253i

另请参阅

| |

相关主题