Cupid will fit the chi-square distribution. For example, if you have a vector of scores, x, from the distribution to be fit, you can get a maximum-likelihood fit with:
mydist = ChiSq(round(mean(x)); % A good starting value.
mydist.EstML(x) % Will adjust V up or down to improve max-likelihood fit.