Matlab 将gmdistribution.fit与数据一起绘制

Matlab 将gmdistribution.fit与数据一起绘制,matlab,curve-fitting,gaussian,Matlab,Curve Fitting,Gaussian,我有一个数据直方图(x,y),它是两个高斯数的混合(简单的情况,即一维)。为了适应它,我使用 obj=gmdistribution.fit(数据,2) 这给了我机会 obj= 一维二分量高斯混合分布 构成部分1: 配合比:0.499387 平均值:-0.4789 构成部分2: 配合比:0.500613 平均值:-0.4786 现在,我如何将其与原始直方图一起绘制?我知道这两个链接,但它们对我帮助不大: 非常感谢任何明确的帮助 我想这可能有点晚了,但它已经在matlabs上更新了。以防万一 M

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

obj=gmdistribution.fit(数据,2)

这给了我机会

obj=

一维二分量高斯混合分布 构成部分1: 配合比:0.499387 平均值:-0.4789

构成部分2: 配合比:0.500613 平均值:-0.4786

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


非常感谢任何明确的帮助

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

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执行相同的操作