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?

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. May 10 '15 at 10:12

Also, this relationship is valid:

gammainc(a,b,'upper')*gamma(b) in Matlab gives the same result as Gamma[b,a] in Mathematica.