【问题标题】:Finding histograms properties in matlab在matlab中查找直方图属性
【发布时间】:2017-05-30 16:51:15
【问题描述】:

我有一个包含正整数的数据集(称为 A)。

我想在两个不同的向量中找到 A 直方图的 x 和 y 轴上的数字。我想要一个包含唯一值的向量和一个包含每个值的计数的向量。

【问题讨论】:

  • 您是否正在寻找 A 中唯一整数的列表以及每个整数的总数?
  • 是的,完全正确。但我不知道他们为什么给我负分:(@gnovice
  • 可能是因为您的问题根本不清楚。如果您想要一个唯一值列表及其计数,请尝试x = unique(A(:)).'; y = sum(bsxfun(@eq,A(:),x),1);。让我知道这是否是您想要的,以便我可以编辑我的答案
  • 正确! @LuisMendo
  • 我编辑了我的答案。我建议您重新表述您的问题,以明确指定您想要一个唯一值的向量和一个包含每个值的计数的向量(我很乐意删除我的反对票)

标签: matlab histogram


【解决方案1】:

要获得唯一值的向量x和它们的出现次数的向量y

x = unique(A(:)).';
y = sum(bsxfun(@eq,A(:),x),1);

或者,或者,

x = unique(A(:)).';
y = histcounts(A, [x inf]);

【讨论】:

  • 当我使用 xx=[3,5,6,8,9,0,3,5,3,6,7,3,3,3,6]; [y, x] = hist(xx); x 不等于整数。我希望 x 和 y 是从最小到最大数据的整数
  • @Oliver 这根本不是您的问题所说的(在编辑之前)。此外,hist 不一定会生成具有整数 x 值的图。 xticks 是整数,但条形的中心位于任意水平位置
  • 如果hist 不产生整数,你为什么要整数?以及如何定义你想要的整数?四舍五入到最接近?舍入为零? ...?
  • 较新版本的 matlab 不鼓励使用 hist。请改用histogramhistcounts
  • 您还可以指定您希望在直方图中使用哪些 bin 边缘。添加到此答案,您可以尝试:[y,x] = hist(A,1:10);[y,x] = histcounts(A,1:10);
猜你喜欢
  • 2015-10-20
  • 1970-01-01
  • 2013-01-17
  • 1970-01-01
  • 1970-01-01
  • 2013-09-04
  • 2017-08-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多