The code implements the 2000 Variational Bayes for one dimension Gaussian mixture models paper by Penny and Roberts. (http://www.fil.ion.ucl.ac.uk/~wpenny/publications/vbmog.ps)
Given an 1D vector of values generated by multiple Gaussian distributions, it finds out the number of components, mean and variance of those components. Although it is variational Bayes, an initial value for the number of components has to be give. It can be changed in line 38 inside the init function.
Note: The code sometimes converges and sometimes not with nan values. I thought it might be helpful to get some feedback on this forum and improve upon it.
added link to the paper http://www.fil.ion.ucl.ac.uk/~wpenny/publications/vbmog.ps