gamfit
              Estimate parameters and confidence intervals for the Gamma distribution.
 paramhat = gamfit (x) returns the maximum likelihood
 estimates of the parameters of the Gamma distribution given the data in
 x.  paramhat(1) is the shape parameter, k, and
 paramhat(2) is the scale parameter, theta.
 [paramhat, paramci] = gamfit (x) returns the 95%
 confidence intervals for the parameter estimates.
 […] = gamfit (x, alpha) also returns the
 100 * (1 - alpha) percent confidence intervals for the
 parameter estimates.  By default, the optional argument alpha is
 0.05 corresponding to 95% confidence intervals.  Pass in [] for
 alpha to use the default values.
 […] = gamfit (x, alpha, censor) accepts a
 boolean vector, censor, of the same size as x with 1s for
 observations that are right-censored and 0s for observations that are
 observed exactly.  By default, or if left empty,
 censor = zeros (size (x)).
 […] = gamfit (x, alpha, censor, freq)
 accepts a frequency vector, freq, of the same size as x.
 freq typically contains integer frequencies for the corresponding
 elements in x, but it can contain any non-integer non-negative values.
 By default, or if left empty, freq = ones (size (x)).
 […] = gamfit (…, options) specifies control
 parameters for the iterative algorithm used to compute the maximum likelihood
 estimates.  options is a structure with the following field and its
 default value:
 
options.Display = "off"
 options.MaxFunEvals = 1000
 options.MaxIter = 500
 options.TolX = 1e-6
 There are two equivalent parameterizations in common use:
gamcdf.
 Further information about the Gamma distribution can be found at https://en.wikipedia.org/wiki/Gamma_distribution
See also: gamcdf, gampdf, gaminv, gamrnd, gamlike
Source Code: gamfit
| 
 ## Sample 3 populations from different Gamma distibutions
 randg ("seed", 5);    # for reproducibility
 r1 = gamrnd (1, 2, 2000, 1);
 randg ("seed", 2);    # for reproducibility
 r2 = gamrnd (2, 2, 2000, 1);
 randg ("seed", 7);    # for reproducibility
 r3 = gamrnd (7.5, 1, 2000, 1);
 r = [r1, r2, r3];
 ## Plot them normalized and fix their colors
 hist (r, 75, 4);
 h = findobj (gca, "Type", "patch");
 set (h(1), "facecolor", "c");
 set (h(2), "facecolor", "g");
 set (h(3), "facecolor", "r");
 ylim ([0, 0.62]);
 xlim ([0, 12]);
 hold on
 ## Estimate their α and β parameters
 k_thetaA = gamfit (r(:,1));
 k_thetaB = gamfit (r(:,2));
 k_thetaC = gamfit (r(:,3));
 ## Plot their estimated PDFs
 x = [0.01,0.1:0.2:18];
 y = gampdf (x, k_thetaA(1), k_thetaA(2));
 plot (x, y, "-pr");
 y = gampdf (x, k_thetaB(1), k_thetaB(2));
 plot (x, y, "-sg");
 y = gampdf (x, k_thetaC(1), k_thetaC(2));
 plot (x, y, "-^c");
 hold off
 legend ({"Normalized HIST of sample 1 with k=1 and θ=2", ...
          "Normalized HIST of sample 2 with k=2 and θ=2", ...
          "Normalized HIST of sample 3 with k=7.5 and θ=1", ...
          sprintf("PDF for sample 1 with estimated k=%0.2f and θ=%0.2f", ...
                  k_thetaA(1), k_thetaA(2)), ...
          sprintf("PDF for sample 2 with estimated k=%0.2f and θ=%0.2f", ...
                  k_thetaB(1), k_thetaB(2)), ...
          sprintf("PDF for sample 3 with estimated k=%0.2f and θ=%0.2f", ...
                  k_thetaC(1), k_thetaC(2))})
 title ("Three population samples from different Gamma distibutions")
 hold off
                     | 
