我可以用独特的得到一个计算每个元素重复的次数?

207(30天)

接受的答案

MathWorks支金宝app持团队
能够返回每个独特的元素的计数在MATLAB独特功能不可用。
为了解决这个问题,使用ARRAYFUN函数来测试一个数组的每个元素,每个元素决定的次数等于初始向量的一个元素。
例如:
a = (12 34 78 8 12 3 34);
c = arrayfun (@ (x)长度(找到(x = =)),独特的(a),“统一”、假);
cell2mat (c)
1评论
Zenin Easa Panthakkalakath
Zenin Easa Panthakkalakath 2022年4月21日
编辑:Zenin Easa Panthakkalakath 2022年4月21日
理想情况下,下面的基于直方图的方法应该为此工作,我想使用,因为它是更快。然而,它不适合大数据是有限度的最大数量的垃圾箱
c = histcounts ((a),“BinMethod”,“整数”);
c (c = = 0) = [];
一个解决方案,我发现同样的是使用分类数组。
c1 = histcounts(分类(a));
c1 (c1 = = 0) = [];

登录置评。

答案(1)

洛拉戴维森
洛拉戴维森 2022年9月6日
R2019a,您可以使用 groupcounts :
> > = (12 34 78 8 12 3 34)';
> >[计数,groupname] = groupcounts (a)
数=
1
1
2
3
1
groupname =
3
8
12
34
78年

下载188bet金宝搏


释放

R14SP1

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!