MATLAB: CDF of gamma distribution

distributionstatistics

assuming X~Gamma(k,theta) where k and theta are shape and scale parameters, the CDF Fx(x) should be
Fx(x) = 1/Gamma(k)*gamma(k,x/theta) where Gamma is the gamma function and gamma is the lower incomplete gamma function
however, trying to use gammainc for the incomplete gamma function I get a monotonic decreasing result, instead of the expected increasing to 1 CDF. instead I am using gamcdf which seems reasonable, but I don't understand the nature of the difference.
help ? anyone?

Best Answer

I'm not sure how you are calling it, but you should get the same result with gamcdf and gammainc, provided you scale the x vector by the value of your theta parameter prior to calling gammainc
x = 0:0.01:20;
k = 2; % shape parameter
theta = 3; % scale parameter
F = gamcdf(x,k,theta);
plot(x,F,'b');
hold on;
x1 = x./theta; %scale x axis by theta
Z = gammainc(x1,k);
plot(x,Z,'k')
max(abs(Z-F))
Related Question