Generating dataset from Gaussian Mixture Model

Hi all,
I'm attempting to generate a dataset from a Gaussian Mixture Model with very simple form and known parameters. My GMM is given by
a_1 * N(mu_1,sigma^2) + a_2 * N(mu_2,sigma^2)
So the two normal distributions have different means but the same standard deviation, a_1 and a_2 sum to one, and I can choose the values of all 5 parameters.
The only function I can find for this in matlab is the 'gmdistribution' command. This commands documentation repeatedly refers to a gaussian mixture distribution where each gaussian is multivariate, and I'm yet to find a way to use this method for the normal distributions I have above.
Any help would be greatly appreciated

 Accepted Answer

It's multivariate in the sense that it supports more than one dimension, but you can use it for a single dimension:
g = gmdistribution([1;10],2,[.6;.4])
hist(random(g,1000),40)

2 Comments

Thankyou! My glaringly obvious lack of stats background had me struggling with the input for sigma. Thanks again!
HI Tom:
i wonder how can i set different variance of each component for a single dimension with different probability ?
Thanks a lot!

Sign in to comment.

More Answers (0)

Asked:

on 22 Feb 2013

Commented:

on 1 Apr 2019

Community Treasure Hunt

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

Start Hunting!