如何获取matlab数组中最大的元素索引

时间:2012-11-28 00:56:34

标签: matlab max octave

这是一个简单的双数组:

array=[3 1 1]

最大元素索引是1

或:

array=[3 9 1]

最大元素索引是2

如何获得最大元素索引?

4 个答案:

答案 0 :(得分:33)

使用max函数的第二个输出参数:

[ max_value, max_index ] = max( [ 3 9 1 ] )

答案 1 :(得分:3)

我的标准解决方案是

index = find(array == max(array), 1);

返回第一个元素的索引,该索引等于最大值。如果你想要最后一个元素,你可以摆弄find的选项。

答案 2 :(得分:1)

如果您需要获取每行的最大值,可以使用:

result = {i: dic[j] for i in list for j in dic if j in i}

答案 3 :(得分:1)

In Octave If
A =
   1   3   2
   6   5   4
   7   9   8

1) For Each Column Max value and corresponding index of them can be found by
>> [max_values,indices] =max(A,[],1)
max_values =
   7   9   8
indices =
   3   3   3


2) For Each Row Max value and corresponding index of them can be found by
>> [max_values,indices] =max(A,[],2)
max_values =
   3
   6
   9
indices =
   2
   1
   2

Similarly For minimum value

>> [min_values,indices] =min(A,[],1)
min_values =
   1   3   2

indices =
   1   1   1

>> [min_values,indices] =min(A,[],2)
min_values =
   1
   4
   7

indices =
   1
   3
   1