積分領域の内部にある特異点
この例では、特異点を境界に配置するように積分領域を分割する方法を示します。
無名関数を用いた被積分関数の定義
以下に、複素数値積分を示します。
この複素数値積分の被積分関数は 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
積分領域の内部に特異値が存在する場合、積分は収束せず、警告が返されます。
積分領域を 2 つの三角形に分割
積分領域を相補的な複数の部分領域に分割し、それらの部分領域の積分を加算することにより、積分を定義し直すことができます。部分領域の境界に特異点を配置することにより、積分のエラーと警告の発生を防ぎます。この例では、正方形の積分領域を特異線 y = -x
に沿って 2 つの三角形に分割し、それぞれの三角形の結果を加算することができます。
q1 = integral2(fun,-1,1,-1,@(x)-x); q2 = integral2(fun,-1,1,@(x)-x,1); q = q1 + q2
q = 3.771236166328259 - 3.771236166328255i
特異値が境界上にある場合、積分は正常に計算されます。
この積分の正確な値は次のとおりです。
8/3*sqrt(2)*(1-i)
ans = 3.771236166328253 - 3.771236166328253i
参考
integral
| integral2
| integral3