This question already has answers here:
Determining the number of occurrences of each unique element in a vector
(4个答案)
我有这样的向量
我想知道的是,在多少行中,每个数字都是这样出现的
我可以循环遍历每个元素并使用
但这是非常低效的在matlab中最有效的方法是什么?
(4个答案)
我有这样的向量
1
2
2
2
3
3
3
3
.
.
.
我想知道的是,在多少行中,每个数字都是这样出现的
1 1
2 3
3 4
. .
. .
我可以循环遍历每个元素并使用
index = find(vector == element)
length(index)
但这是非常低效的在matlab中最有效的方法是什么?
最佳答案
从histc
的文档中:
bincounts=histc(x,binranges)统计x中
在每个指定的箱子范围内。
如果您将histc
与unique
结合起来,您可以得到您想要的:
a =
4
2
3
3
1
2
1
1
2
3
uni = unique(a);
[uni, histc(a,uni)]
ans =
1 3
2 3
3 3
4 1
10-01 13:34