igamma
不完全ガンマ関数
説明
igamma(
は、不完全ガンマ関数を出力します。nu
,z
)
igamma
は、上側不完全ガンマ関数の定義を使用します。MATLAB® 関数 gammainc
は、下側不完全ガンマ関数の定義 gammainc(z, nu) = 1 - igamma(nu, z)/gamma(nu)
を使用します。入力引数の順番はこれらの関数により異なります。
例
数値引数およびシンボリック引数に対する不完全ガンマ関数の計算
引数に応じて、igamma
は浮動小数点解またはシンボリック厳密解の結果を返します。
次の数値について不完全ガンマ関数を計算します。これらの数値はシンボリック オブジェクトではないため、結果は浮動小数点数となります。
A = [igamma(0, 1), igamma(3, sqrt(2)), igamma(pi, exp(1)), igamma(3, Inf)]
A = 0.2194 1.6601 1.1979 0
シンボリック オブジェクトに変換された数値に対する不完全ガンマ関数を計算します。
symA = [igamma(sym(0), 1), igamma(3, sqrt(sym(2))),... igamma(sym(pi), exp(sym(1))), igamma(3, sym(Inf))]
symA = [ -ei(-1), exp(-2^(1/2))*(2*2^(1/2) + 4), igamma(pi, exp(1)), 0]
vpa
を使用し、これらの解を浮動小数点数で近似します。
vpa(symA)
ans = [ 0.21938393439552027367716377546012,... 1.6601049038903044104826564373576,... 1.1979302081330828196865548471769,... 0]
下側不完全ガンマ関数の計算
igamma
は、上側不完全ガンマ関数の定義に従って実装されます。下側不完全ガンマ関数を計算するには、次のように igamma
から返された結果を変換します。
MATLAB 関数 gammainc
を使用して、これらの引数の下側不完全ガンマ関数を計算します。
A = [-5/3, -1/2, 0, 1/3]; gammainc(A, 1/3)
ans = 1.1456 + 1.9842i 0.5089 + 0.8815i 0.0000 + 0.0000i 0.7175 + 0.0000i
関数 igamma
を使用して、同じ引数の下側不完全ガンマ関数を計算します。
1 - igamma(1/3, A)/gamma(1/3)
ans = 1.1456 + 1.9842i 0.5089 + 0.8815i 0.0000 + 0.0000i 0.7175 + 0.0000i
一方または両方の引数が複素数の場合は、igamma
を使用して下側不完全ガンマ関数を計算します。関数 gammainc
は、複素数引数を受け入れません。
1 - igamma(1/2, i)/gamma(1/2)
ans = 0.9693 + 0.4741i
入力引数
詳細
ヒント
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 で導入