首页 文章

用超强高斯绘制直方图

提问于
浏览
1

我是MATLAB的新手,我需要在直方图上绘制一组数据 . 此外,根据估计的标准偏差和我的样本的平均值,我需要将具有这些参数的高斯叠加到图上 . 最后,我想绘制表示平均值和/ - 1标准差的垂直线 . 这样做的最佳方法是什么?我尝试使用 histfit 函数,但是当试图为标准偏差添加垂直条(工具 - >数据统计)时,图上的"std"值与 std(data) 计算的值不一样(我想知道)为什么) . 有没有人知道如何做到这一切?

谢谢!

1 回答

  • 2

    我使用 line 函数:

    % This outputs a histogram with lines at the mean, 
    %    and +/- 1 standard deviation levels. 
    %    It does not normalize the data 
    %    nor apply a normal Gaussian bell curve over it.
    
    figure(1)
    [Y,X] = hist(DATA,n);
    sigma = std(DATA);
    xbar = mean(DATA);
    bar(X,Y)
    y = ylim;
    line([1 1]*(xbar-sigma),y)
    line([1 1]*xbar,y)
    line([1 1]*(xbar+sigma),y)
    

    我从来没有使用 histfit 函数,但我怀疑它是在你的直方图中进行正态分布的最小二乘类型拟合 . 除非您的数据集具有无限数量的数据点并且它是真正正态分布的,否则这将导致与使用 std 计算的标准偏差不同 .

相关问题