Finding fitgmdist value range from histogram

3 Ansichten (letzte 30 Tage)
banikr
banikr am 13 Apr. 2020
Kommentiert: Image Analyst am 15 Apr. 2020
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);

Antworten (1)

Image Analyst
Image Analyst am 13 Apr. 2020
See my File Exchange submission where you can fit the data to any number of Gaussians:
  7 Kommentare
Image Analyst
Image Analyst am 15 Apr. 2020
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 am 15 Apr. 2020
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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Statistics and Machine Learning Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by