В этом примере показано, как моделировать данные из модели смеси Гаусса (GMM) с использованием полностью указанного gmdistribution объект и random функция.
Создайте известный двухкомпонентный объект GMM.
mu = [1 2;-3 -5]; sigma = cat(3,[2 0;0 .5],[1 0;0 1]); p = ones(1,2)/2; gm = gmdistribution(mu,sigma,p);
Постройте график контура PDF-файла GMM.
gmPDF = @(x,y) arrayfun(@(x0,y0) pdf(gm,[x0 y0]),x,y);
fcontour(gmPDF,[-10 10]);
title('Contour lines of pdf');
Создайте 1000 случайных вариаций из GMM.
rng('default') % For reproducibility X = random(gm,1000);
Постройте график вариаций с контурами pdf.
hold on scatter(X(:,1),X(:,2),10,'.') % Scatter plot with points of size 10 title('Contour lines of pdf and Simulated Data')

fitgmdist | gmdistribution | mvnrnd | random