如何根据条件获得重复值的索引

时间:2017-11-05 07:32:53

标签: matlab sorting matrix vectorization

我正在尝试使用以下代码,但仅获得最后一个值的指示

A=[ 3 4 1 2 4 4 4]
B=unique(A)
[b1  b2]=max(B)

while i<=numel(A)
 if A(i)==A(b2)
    ID=A(i)
end
end

matlab中还有其他方法可以获得值为4(最大值)的所有索引。

1 个答案:

答案 0 :(得分:0)

如果要在矩阵中找到最大值的索引,则根本不需要unique。这是多余的。只需同时使用findmax

ID = find(A == max(A));

max(A)返回A中的最大值。 A == max(A)会返回logical向量,其中1对应A中与A中最大值匹配的值,否则为0。最后,find确定输入中非零的位置,因此实际上我们找到的位置与A中的最大值匹配。