Raw File
gaussianMixture.wppl
var makeGaussian = function(dim) {
  var means = repeat(dim, function() {uniform(20, 380)});
  var stds = repeat(dim, function() {uniform(5, 50)});
  return function() {
    return map2(gaussian, means, stds);
  }
}

var mixtureWeight = uniform(0, 1);
var gaussian1 = makeGaussian(2);
var gaussian2 = makeGaussian(2);

var gaussianMixture = function() {
  if (flip(mixtureWeight)) {
    return gaussian1();
  } else {
    return gaussian2();
  }
}

repeat(100, gaussianMixture);
back to top