Main Content

igamma

説明

g = igamma(nu,z) は、上側不完全ガンマ関数を返します。

igamma は、上側不完全ガンマ関数の定義を使用します。一方、既定の MATLAB® 関数 gammainc は、正則化された下側不完全ガンマ関数の定義 gammainc(z,nu) = 1 - igamma(nu,z)/gamma(nu) を使用します。入力引数の順番はこれらの関数により異なります。

すべて折りたたむ

引数に応じて、igamma は浮動小数点解またはシンボリック厳密解の結果を返します。

次の数値について上側不完全ガンマ関数を計算します。これらの数値はシンボリック オブジェクトではないため、結果は浮動小数点数となります。

g = [igamma(0,1), igamma(3,sqrt(2)), igamma(pi,exp(1)), igamma(3,Inf)]
g = 1×4

    0.2194    1.6601    1.1979         0

シンボリック オブジェクトに変換された数値に対する上側不完全ガンマ関数を計算します。

symg = [igamma(sym(0),1), igamma(3,sqrt(sym(2))), ...
igamma(sym(pi),exp(sym(1))), igamma(3,sym(Inf))]
symg = (-ei(-1)e-222+4Γigamma(π,e)0)

vpa を使用し、シンボリックな結果を浮動小数点数で近似します。

vpag = vpa(symg)
vpag = (0.219383934395520273677163775460121.66010490389030441048265643735761.19793020813308281968655484717690)

igamma は、上側不完全ガンマ関数の定義に従って実装されます。下側不完全ガンマ関数を計算するには、次のように igamma から返された結果を変換します。

igamma を使用して、これらの引数の上側不完全ガンマ関数を計算します。

z = [-5/3, -1/2, 0, 1/3];
gupper = igamma(1/3,z)
gupper = 1×4 complex

  -0.3900 - 5.3156i   1.3156 - 2.3614i   2.6789 + 0.0000i   0.7569 + 0.0000i

これらの結果をガンマ関数から減算して下側不完全ガンマ関数を取得します。

glower = gamma(1/3) - gupper
glower = 1×4 complex

   3.0689 + 5.3156i   1.3634 + 2.3614i   0.0000 + 0.0000i   1.9220 + 0.0000i

比較のために、MATLAB 関数 gammainc を使用して正則化された下側不完全ガンマ関数を計算することもできます。正則化された定義は、ガンマ関数の係数が異なります。

glower2 = gammainc(z,1/3)*gamma(1/3)
glower2 = 1×4 complex

   3.0689 + 5.3156i   1.3634 + 2.3614i   0.0000 + 0.0000i   1.9220 + 0.0000i

gammainc は複素数の引数を受け入れないため、一方または両方の引数が複素数の場合は、igamma を使用して正則化された下側不完全ガンマ関数を計算します。

gcomplex = 1 - igamma(1/2,1i)/gamma(1/2)
gcomplex = 0.9693 + 0.4741i

入力引数

すべて折りたたむ

入力値。シンボリック数、変数、式または関数、あるいはシンボリック数、変数、式または関数のベクトルまたは行列として指定します。

入力値。シンボリック数、変数、式または関数、あるいはシンボリック数、変数、式または関数のベクトルまたは行列として指定します。

詳細

すべて折りたたむ

上側不完全ガンマ関数

次の積分は上側不完全ガンマ関数を定義します。

Γ(η,z)=ztη1etdt

正則化された下側不完全ガンマ関数

次の積分は正則化された下側不完全ガンマ関数を定義します。

γ(z,η)=1Γ(η)0ztη1etdt,

ここで、ガンマ関数 Γ(η) は次のように定義されます。

Γ(η)=0tη1etdt.

ヒント

  • MATLAB 関数 gammainc では複素数引数は受け入れられません。複素数引数では、igamma を使用します。

  • gammainc(z,nu) = 1 - igamma(nu,z)/gamma(nu) は、正則化された下側不完全ガンマ関数を上側不完全ガンマ関数で表現します。

  • igamma(nu,z) = gamma(nu)*(1 - gammainc(z,nu)) は、上側不完全ガンマ関数を正則化された下側不完全ガンマ関数で表現します。

  • gammainc(z,nu,"upper") = igamma(nu,z)/gamma(nu).

バージョン履歴

R2014a で導入

参考

| | | | |