Gaussian Mixture pdf plot
Show older comments
Hello. I have a gaussian with probability 0.2 and (m1,sigma1), another with probability 0.3 and (m2,sigma2) and one with probability 0.5 and (m3,sigma3).
How can I plot this? Thanks.
Answers (3)
the cyclist
on 18 Jun 2016
Edited: the cyclist
on 18 Jun 2016
Here's one way.
pd2 = makedist('Normal','mu',2,'sigma',0.2);
pd3 = makedist('Normal','mu',3,'sigma',0.3);
pd5 = makedist('Normal','mu',5,'sigma',0.5);
x = 0 : 0.001 : 10;
y = 0.2*pdf(pd2,x) + 0.3*pdf(pd3,x) + 0.5*pdf(pd5,x);
figure plot(x,y)
It requires the Statistics and Machine Learning Toolbox.

the cyclist
on 12 Jan 2017
Here is how the same figure can be made without the Statistics & Machine Learning Toolbox:
mu2 = 2;
mu3 = 3;
mu5 = 5;
sig2 = 0.2;
sig3 = 0.3;
sig5 = 0.5;
n2 = @(x) exp(-(x-mu2).^2/(2*sig2.^2)) ./ (sig2*(2*pi).^0.5);
n3 = @(x) exp(-(x-mu3).^2/(2*sig3.^2)) ./ (sig3*(2*pi).^0.5);
n5 = @(x) exp(-(x-mu5).^2/(2*sig5.^2)) ./ (sig5*(2*pi).^0.5);
x = 0 : 0.001 : 10;
y = 0.2*n2(x) + 0.3*n3(x) + 0.5*n5(x);
figure
plot(x,y)
Amr Hashem
on 10 Jan 2017
0 votes
what I could use instead of "makedist" if i didn't have the toolbox?
Categories
Find more on Gaussian Mixture Distribution in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!