I could use multiple Gaussian functions and add them but this isn't quite what I'm looking for. I want to be able to extract FWHM from the fit. Not sure how I would do that if I use multiple Gaussians.
Fitting Flat-Top Guassian Data
18 views (last 30 days)
Show older comments
I have a 2D data set that looks like a Gaussian distribution. However, in my case I have a flat top Gaussian, rather than the one that starts falling off from the center. Basically 1cm of the distribution at the center looks like a perfect circle and then the intensity falls off. It seems like I may have to use some sort of circ fuction and then exponential/gaussian to take into account the fall off. I'm not too sure how I can do this in matlab. Any help will be highly appreciated. Thanks!
Answers (4)
the cyclist
on 23 Jun 2011
If you know the functional form that you want to use to fit your curve, you could use the nlinfit() function.
0 Comments
Ronni
on 26 Jun 2011
1 Comment
Andrew Newell
on 26 Jun 2011
I doubt that you can do a fit unless you know in advance how many parameters you need.
Andrew Newell
on 26 Jun 2011
The Johnson and Pearson distributions are generalizations of the normal distribution, and MATLAB has fitting functions for them (assuming you have the Optimization Toolbox).
If you just want to extract FWHM, you could download fwhm from the File Exchange. I haven't used it, but it gets good reviews.
0 Comments
Aaron Fetterman
on 23 Feb 2021
One solution would be to use a supper gaussian function. It follows the same format as a regular gaussian with an extra parameter to make the flat top more pronounced.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/528264/image.png)
Hope this helps... a little late in the game.
Came accros this in own research and thought I would add to one of these boards.
0 Comments
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!