Этот пример показывает, как моделировать данные из Гауссовой модели смеси (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)reshape(pdf(gm,[x(:) y(:)]),size(x));
fcontour(gmPDF,[-10 10]);
title('Contour lines of pdf');
Сгенерируйте 1 000 случайных варьируемых величин от 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