How do I plot a gaussian mixed model with 1D data?

24 visualizzazioni (ultimi 30 giorni)
Hi I am a novice in Matlab. I have to plot a gaussian mixed model with one dimensional data. So far i have been able to do only this: data = xlsread('csf.xlsx','ab'); mu1 = mean('data'); sigma1 = std('data'); X = [mvnrnd(mu1,sigma1,1000)]; gm = fitgmdist(X,2); What do i do next? Thanks a lot.
  1 Commento
Sajid Raza
Sajid Raza il 31 Lug 2019
@Trisha Kibaya, did you get answer for this one dimensional question?
I am facing same issue. I have one dimensional data. I use 'fitgmdist' to get gmdistribution. Then i want to visualize this distribution or show as clusters based on mu and sigma from the fitgmdist function.
Thanks.

Accedi per commentare.

Risposta accettata

Yuvaraj Venkataswamy
Yuvaraj Venkataswamy il 20 Ago 2018
if true
data = xlsread('csf.xlsx','ab'); % your data
mu1 = mean('data'); % mean
sigma1 = std('data'); % standard deviation
X = [mvnrnd(mu1,sigma1,1000)]; % generate equal number of random variables
gm = fitgmdist(X,2); %Gaussian mixture distribution with 2 components
scatter(X(:,1),X(:,2),10,'.') % plot X
hold on
ezcontour(@(x,y)pdf(gm,[x y]),[-8 6],[-8 6])
end
From the plot You can visualize the fitted model gm by using pdf and ezcontour of your data.
  2 Commenti
Trisha Kibaya
Trisha Kibaya il 20 Ago 2018
Thanks for your reply. I did as you suggested and I got the following error message: Index in position 2 exceeds array bounds (must not exceed 1). Do you know which position its referring to? and is there a way to plot it like a bell curve?
Yuvaraj Venkataswamy
Yuvaraj Venkataswamy il 20 Ago 2018
In which line you are getting error?

Accedi per commentare.

Più risposte (1)

Trisha Kibaya
Trisha Kibaya il 20 Ago 2018
I have attached a screenshot.

Community Treasure Hunt

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

Start Hunting!

Translated by