计算数组中相同的元素的数量

552(30天)
卢卡
卢卡 2019年9月10日
编辑: Vitek Stepien2021年8月14日
嗨,给定一个向量
V = [1 2 4 3 2 3 5 6 4 5 6 7 8 4 2 3 5 8 5 3 1 3 5 6 7 8 9 5 3 2 4 7 8]
我想数数多少次值1,2,3,4,5,6,7,8,9 V内重复,并获得一个向量报告这个值:
C = [2 4 6 5 6 3 3 1]
1是重复2次,2是repetead 4次,3是重复6次等等. .

接受的答案

madhan拉维
madhan拉维 2019年9月10日
编辑:madhan拉维 2019年9月10日
(~,~,ix) =独特(V);
C = accumarray(第九,1)”。
5个评论
madhan拉维
madhan拉维 2019年9月10日
谢谢斯蒂芬:)!

登录置评。

更多的答案(3)

Stephen23
Stephen23 2019年9月10日
编辑:Stephen23 2019年9月10日
你的第一个例子:
> > V = [1 2 4 3 2 3 5 6 4 5 6 7 8 4 2 3 5 8 5 3 1 3 5 6 7 8 9 5 3 2 4 7 8];
> > C =嘘(V, 1: max (V))
C =
2 4 6 5 6 3 3 1
你的第二个例子:
> > V = 7 (2 2 3 4 5 6 7 8 9 9 8)
> > C =嘘(V, 1: max (V))
C =
0 2 1 1 1 1 2 2 2

Vitek Stepien
Vitek Stepien 2021年8月14日
编辑:Vitek Stepien 2021年8月14日
我发现这个函数非常有用,你需要做什么:
V = [1 2 4 3 2 3 5 6 4 5 6 7 8 4 2 3 5 8 5 3 1 3 5 6 7 8 9 5 3 2 4 7 8];
[gc,毛评点]= groupcounts (V ');% < -这里需要列向量
毛评点”
ans = 1×9
1 2 3 4 5 6 7 8 9
gc的
ans = 1×9
2 4 6 5 6 3 3 1
在哪里 毛评点 列表的惟一值 gc 提供了计算中发现的每一个独特的价值观 v。
这非常类似于madhan ravi accumarray,甚至更简单。
注:我只gc和毛评点变成行向量的密实度,它是纯粹的审美。然而groupcounts需要一个列向量,而不是一个行。

雨果·迪亚兹
雨果·迪亚兹 2020年11月28日
我使用稀疏(V (:), V(:), 1)对于大型数组索引丢失。

下载188bet金宝搏


释放

R2019a

社区寻宝

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

开始狩猎!