【问题标题】:How to obtain indices of repetitive values based on condition如何根据条件获取重复值的索引
【发布时间】:2017-11-05 07:32:52
【问题描述】:

我正在尝试使用以下代码,但仅获取最后一个值的索引

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(最大值)的所有索引。

【问题讨论】:

    标签: matlab sorting matrix vectorization


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2019-01-11
      • 2021-10-12
      • 1970-01-01
      • 1970-01-01
      • 2019-12-28
      • 1970-01-01
      • 2021-03-04
      • 2011-09-18
      • 2019-10-28
      相关资源
      最近更新 更多