# Gamma Incomplete Function representation in Mathematica and Matlab

I am confused about incomplete gamma function calculation in Mathematica and MATLAB:

For example, in Mathematica: Gamma[5,3] = 19.56

But in MATLAB: gammainc(5,3) = 0.8753

I don't know which one is correct, MATLAB result or Mathematica result?

• Also, this relationship is valid: gammainc(a,b,'upper')*gamma(b) in Matlab gives the same result as Gamma[b,a] in Mathematica. Commented Jan 11, 2022 at 23:37

In Mathematica, Gamma[a, z] refers to the upper incomplete Gamma function, given by

$$\Gamma(a,z)=\int_z^\infty t^{a-1}e^{-t}\,dt$$

whereas in MATLAB, gammainc(z, a) refers to the regularized lower incomplete Gamma function

$$P(a,z)=\frac{1}{\Gamma(a)}\int_0^z t^{a-1}e^{-t}\, dt$$

Obviously, they give different results. To get MATLAB's result in Mathematica, use the following:

gammainc[a_, z_] := Gamma[a, 0, z]/Gamma[a]
N@gammainc[3, 5]

(* 0.875348 *)

• In fact, you could simplify things slightly: gammainc[a_, z_] := GammaRegularized[a, 0, z]; it has been anticipated that people would frequently want the scaled version. Commented May 10, 2015 at 10:12