MATLAB Answers

How can I use MATLAB to estimate the parameters of an exponential-gamma convolution?

1 view (last 30 days)
Jerry Luo
Jerry Luo on 26 Nov 2012
Answered: Adam Wyatt on 31 Mar 2015
Ideally, I would be inputting a vector of data and outputting the estimates for the 3 parameters. I'm a total matlab noob so any suggestion will be of great help. I'm not sure if the mle function in the statistics toolbox can do it.

Answers (1)

Adam Wyatt
Adam Wyatt on 31 Mar 2015
Simple solution
v = fminsearch(@(v) sum(abs(Data - YourGammaConvolutionFunction(v(1), v(2), v(3))).^2), [v01 v02 v03]);
This often works quite nicely and is quick and easy. It really helps if you get a good estimate of the initial parameters - for example find the peak, RMS width, background etc. first).
Note that your gamma convolution may only require three parameters, but for it to fit your data, you may need to rescale and shift it (two additional search parameters), unless these are two of your three parameters your want to estimate.


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!