0

请考虑以下示例代码:

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)

为什么这个直方图以频率 4(在 Y 轴上)绘制数据点 0 和 1,而实际上 0 和 1 在数据中出现两次?

4

3 回答 3

1

您有 21 个数据点。默认情况下hist使用 10 个 bin。如果你执行你的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)

你会得到正确答案:

在此处输入图像描述

于 2013-11-11T05:51:03.680 回答
1

如果你做了

[hy hx] = hist(data)

您会看到hx变量中使用的 bin。如果您不指定垃圾箱,它们会为您指定 - 默认值不是很智能。

如果您有整数数据,并且想要整数箱,

hist(data, min(data):max(data))

是一个很好的获取方式。如果您需要大于 1 的垃圾箱,例如

n = 5;
hist(data, (floor(min(data)/n):ceil(max(data)/n))*n)

会很好地工作,并为您提供 n 的 bin 大小(在本例中为 5)

于 2013-11-11T06:07:08.227 回答
0

N = HIST(Y) 将 Y 的元素分箱到 10 个等间距的容器中,并返回每个容器中元素的数量。如果 Y 是矩阵,则 HIST 沿列向下工作。这里为 0 和 1 制作了一个 bin,因此直方图以频率 4(在 Y 轴上)绘制数据点 0 和 1,而实际上 0 和 1 在数据中出现两次

于 2013-11-11T05:48:28.557 回答