关于matlab:将gmdistribution.fit与数据一起绘制

plot gmdistribution.fit together with data

我有一个数据(x,y)的直方图,它是两个高斯混合而成的(简单情况,即一维)。为了适应它,我使用

obj = gmdistribution.fit(data,2)

那给了我

obj =

在1维中具有2个成分的高斯混合分布
组件1:
混合比例:0.499387
均值:-0.4789

组件2:
混合比例:0.500613
均值:-0.4786

现在,如何将其与原始直方图一起绘制?我知道这两个链接,但它们对我没有太大帮助:

http://www.mathworks.com/matlabcentral/newsreader/view_thread/317868

http://www.mathworks.de/de/help/stats/gmdistribution.fit.html

任何明确的帮助都将受到高度赞赏!


我想这可能有点晚了,但是它已经在matlabs网站上进行了更新。以防万一

1
2
3
4
5
6
7
8
9
10
11
12
13
14
MU1 = [1 2];
SIGMA1 = [2 0; 0 .5];
MU2 = [-3 -5];
SIGMA2 = [1 0; 0 1];
X = [mvnrnd(MU1,SIGMA1,1000);mvnrnd(MU2,SIGMA2,1000)];

scatter(X(:,1),X(:,2),10,'.')
hold on

options = statset('Display','final');
obj = gmdistribution.fit(X,2,'Options',options);
10 iterations, log-likelihood = -7046.78

h = ezcontour(@(x,y)pdf(obj,[x y]),[-8 6],[-8 6]);

您可以使用scatter3对3d进行同样的操作。

enter