Main Content

igamma

Incomplete gamma function

Description

example

igamma(nu,z) returns the incomplete gamma function.

igamma uses the definition of the upper incomplete gamma function. The MATLAB® gammainc function uses the definition of the lower incomplete gamma function, gammainc(z, nu) = 1 - igamma(nu, z)/gamma(nu). The order of input arguments differs between these functions.

Examples

Compute Incomplete Gamma Function for Numeric and Symbolic Arguments

Depending on its arguments, igamma returns floating-point or exact symbolic results.

Compute the incomplete gamma function for these numbers. Because these numbers are not symbolic objects, you get floating-point results.

A = [igamma(0, 1), igamma(3, sqrt(2)), igamma(pi, exp(1)), igamma(3, Inf)]
A =
    0.2194    1.6601    1.1979         0

Compute the incomplete gamma function for the numbers converted to symbolic objects:

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]

Use vpa to approximate symbolic results with floating-point numbers:

vpa(symA)
ans =
[ 0.21938393439552027367716377546012,...
1.6601049038903044104826564373576,...
1.1979302081330828196865548471769,...
0]

Compute Lower Incomplete Gamma Function

igamma is implemented according to the definition of the upper incomplete gamma function. If you want to compute the lower incomplete gamma function, convert results returned by igamma as follows.

Compute the lower incomplete gamma function for these arguments using the MATLAB gammainc function:

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

Compute the lower incomplete gamma function for the same arguments using 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

If one or both arguments are complex numbers, use igamma to compute the lower incomplete gamma function. gammainc does not accept complex arguments.

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

Input Arguments

collapse all

Input, specified as a symbolic number, variable, expression, or function, or as a vector or matrix of symbolic numbers, variables, expressions, or functions.

Input, specified as a symbolic number, variable, expression, or function, or as a vector or matrix of symbolic numbers, variables, expressions, or functions.

More About

collapse all

Upper Incomplete Gamma Function

The following integral defines the upper incomplete gamma function:

Γ(η,z)=ztη1etdt

Lower Incomplete Gamma Function

The following integral defines the lower incomplete gamma function:

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

Tips

  • The MATLAB gammainc function does not accept complex arguments. For complex arguments, use igamma.

  • gammainc(z, nu) = 1 - igamma(nu, z)/gamma(nu) represents the lower incomplete gamma function in terms of the upper incomplete gamma function.

  • igamma(nu,z) = gamma(nu)(1 - gammainc(z, nu)) represents the upper incomplete gamma function in terms of the lower incomplete gamma function.

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

Version History

Introduced in R2014a

See Also

| | | | |