用超强高斯绘制直方图

时间:2013-09-15 21:53:21

标签: matlab statistics

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

谢谢!

1 个答案:

答案 0 :(得分: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计算的标准偏差不同,除非您的数据集具有无限数量的数据点并且它是真正正态分布的。