请考虑以下示例代码:
figure
data = [0,2,9,2,5,8,7,3,1,9,4,3,5,8,10,0,1,2,9,5,10];
hist(data)
为什么这个直方图绘制数据点0& 1表示频率为4(在Y轴上),实际上为0& 1在数据中出现两次?
答案 0 :(得分:1)
您有21个数据点。默认情况下,hist使用10个分箱。如果您按如下方式执行hist:
figure
data = [0,2,9,2,5,8,7,3,1,9,4,3,5,8,10,0,1,2,9,5,10];
hist(data, 21)
你会得到正确答案:
答案 1 :(得分:1)
如果你做了
[hy hx] = hist(data)
您会看到hx
变量中使用的分档。如果您没有指定垃圾箱,它们会为您指定 - 默认情况下不是很聪明。
如果你有整数数据,并且你想要整数二进制数,
hist(data, min(data):max(data))
是获得它的一个非常好的方法。如果你需要大于1的垃圾箱,比如
n = 5;
hist(data, (floor(min(data)/n):ceil(max(data)/n))*n)
可以很好地工作,并给你一个bin大小为n(在这种情况下为5)
答案 2 :(得分:0)
N = HIST(Y)将Y的元素分成10个等间距的容器,并返回每个容器中的元素数。如果Y是矩阵,则HIST按列运行。这里对于0和1,制作单个箱,因此直方图绘制数据点0和0。 1表示频率为4(在Y轴上),实际上为0& 1在数据中出现两次