绘制叠加高斯的直方图

问题描述 投票:0回答:1

我有一组数据需要绘制在直方图上。此外,根据样本的估计标准差和平均值,我需要将具有这些参数的高斯叠加到图形上。最后,我想绘制表示平均值和 +/- 1 标准差的垂直线。最好的方法是什么?我尝试过使用

histfit
函数,但是在图中,当尝试添加标准差的垂直条时(工具->数据统计),“std”值与
std(data)
计算的值不同(我想知道为什么)。如何做到这一点?

matlab statistics
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
计算的标准差不同,除非您的数据集具有无限数量的数据点并且它确实是正态分布的。

© www.soinside.com 2019 - 2024. All rights reserved.