小编Eln*_*naz的帖子

将具有相同ID的元素分组并查找最大值及其位置

我有两个长度为16的向量.第一个,r例如:

r = [1;3;5;7;1;3;6;7;9;11;13;16;9;11;13;16];
Run Code Online (Sandbox Code Playgroud)

r包含ID列表.我想收集重复ID的索引,r以便每个组都是一个ID的索引列表.然后,我将使用这些索引访问第二个向量,a并找到每个组的索引上的最大值.

因此,我想产生使用输出向量ra,使得:

max(a(1),a(5)), max(a(2),a(6)), a(3), a(7), max(a(4),a(8)), max(a(9),a(13)), max(a(10),a(14)), max(a(11),a(15)), max(a(12),a(16))
Run Code Online (Sandbox Code Playgroud)

我还想保留最大值的索引.如何在MATLAB中有效地实现它?

arrays matlab grouping vectorization

4
推荐指数
1
解决办法
441
查看次数

标签 统计

arrays ×1

grouping ×1

matlab ×1

vectorization ×1