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

1 次查看(过去 30 天)
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.

回答(1 个)

Adam Wyatt
Adam Wyatt 2015-3-31
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!

Translated by