在matlab的最后一列上具有max元素的唯一行

时间:2013-04-16 14:39:06

标签: matlab

我有一个相同行的矩阵,只有两列不同,如下所示:

A = [2 3 3 3 1 0.7;
     2 3 3 3 2 0.4;
     3 2 2 2 1 0.8;
     3 2 2 2 3 0.3]

现在我需要选择与column1,2,3,4具有相同元素且在column6中具有最大元素的唯一行,如:

Response: [2 3 3 3 1 0.7;
           3 2 2 2 1 0.8]

1 个答案:

答案 0 :(得分:3)

按照前4列进行排序,按照第6列的降序排序。然后,在由前4列决定的组内选择第一次出现。

out     = sortrows(A,[1:4,-6]);
[~,idx] = unique(out(:,1:4),'rows');
out(idx,1:5)