【问题标题】:plot gmdistribution.fit together with data将 gmdistribution.fit 与数据一起绘制
【发布时间】:2012-11-09 09:05:24
【问题描述】:

我有一个数据 (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

非常感谢任何明确的帮助!

【问题讨论】:

    标签: matlab curve-fitting gaussian


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-10
      • 2018-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多