我正在尝试使用以下代码,但仅获得最后一个值的指示
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(最大值)的所有索引。
答案 0 :(得分:0)
如果要在矩阵中找到最大值的索引,则根本不需要unique
。这是多余的。只需同时使用find
和max
:
ID = find(A == max(A));
max(A)
返回A
中的最大值。 A == max(A)
会返回logical
向量,其中1
对应A
中与A
中最大值匹配的值,否则为0
。最后,find
确定输入中非零的位置,因此实际上我们找到的位置与A
中的最大值匹配。