Finding fitgmdist value range from histogram

2 次查看(过去 30 天)
Hello Altruists,
I have some data in 'rawdata.mat'
I want find the intensity distribution of the rawdata. For example, if we take the histogram of:
H = histogram(J);
Looks like there are 2/3 Gaussian models. I want to take the one with maximum mean. But how do I find the range of values under that Gaussian distribution. For example the max Gaussian mean is at 234.
How do I choose the range of the Gaussian distribution?
GMModel = fitgmdist(double(J),2);

回答(1 个)

Image Analyst
Image Analyst 2020-4-13
See my File Exchange submission where you can fit the data to any number of Gaussians:
  7 个评论
Image Analyst
Image Analyst 2020-4-15
You're getting some sort of error. It's not being displayed because it seems some helper functions are not included. I'm including them here.
Image Analyst
Image Analyst 2020-4-15
Your data does not fit 3 or even 4 Gaussians well at all. Anyway, I'm attaching the code, test1.m, that works for 4 Gaussians and you can see that there is not a good fit for just Pure Gaussians.
There seems to be a ramp. You might try using fitnlm() and add in the ramp. I'm attaching a demo for fitnlm.
Adapt it to fit 3 Gaussians.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by