Main Content

複素線積分

この例では、関数 integral'Waypoints' オプションを使用して複素線積分を計算する方法を示します。MATLAB® では、'Waypoints' オプションを使用して積分の下限から第 1 途中点まで、第 1 途中点から第 2 途中点までというように、最終的に最後の途中点から積分の上限に至るまで一連の直線経路を定義します。

無名関数を用いた被積分関数の定義

次の積分を行います。

Cezzdz

ここで、C は原点にある ez/z の 1 位の極を囲む閉曲線です。

無名関数を用いて被積分関数を定義します。

fun = @(z) exp(z)./z;

途中点を使用しない積分

パラメーター化を用いて、複素数関数の閉曲線積分を求めることができます。一般的には、閉曲線を指定し、次にこれを微分して元の被積分関数のパラメーター化に使用します。この例では、閉曲線を単位円として指定しますが、すべての場合において、結果は選択した閉曲線とは独立したものとなります。

g = @(theta) cos(theta) + 1i*sin(theta);
gprime = @(theta) -sin(theta) + 1i*cos(theta);
q1 = integral(@(t) fun(g(t)).*gprime(t),0,2*pi)
q1 = -0.0000 + 6.2832i

このパラメーター化の方法は信頼性が高い一方、積分の実行前に微分を計算しなければならないため難しく、時間がかかることがあります。単純な関数の場合でも、正しい結果を得るために数行のコードを作成しなければなりません。極 (この例では原点) を囲む任意の閉曲線で結果は同じなので、代わりに integral'Waypoints' オプションを使用して、極を囲む正方形または三角形の積分路を作成することができます。

内部に極を含まない閉曲線に沿った積分

積分の上下限または途中点ベクトルの成分が複素数の場合、integral は複素平面上の一連の直線経路に沿って積分を実行します。閉曲線の正方向は反時計回りです。時計回りの閉曲線を指定することは -1 を乗算することと同様です。関数の特異点を 1 つ囲む閉曲線を指定します。極を含まない閉曲線を指定した場合、コーシーの積分定理により閉曲線を積分した値は 0 になります。

これを確認するために、原点を含まない正方形の閉曲線に沿って fun を積分します。積分路の始点と終点を同じ値にして、閉曲線を形成します。

C = [2+i 2+2i 1+2i];
q = integral(fun,1+i,1+i,'Waypoints',C)
q = 1.9429e-16 - 5.5511e-16i

結果はほぼ eps の大きさであり、事実上 0 となります。

内部に極を含む閉曲線に沿った積分

原点の極を完全に含む正方形の閉曲線を指定して、積分します。

C = [1+i -1+i -1-i 1-i];
q2 = integral(fun,1,1,'Waypoints',C)
q2 = -0.0000 + 6.2832i

この結果は前に計算した q1 と一致しますが、使用するコードはずっと簡単です。

この問題の厳密な解は 2πi です。

2*pi*i
ans = 0.0000 + 6.2832i

参考

関連するトピック