14

这是一个简单的双数组:

array=[3 1 1]

最大元素索引为 1

或者:

array=[3 9 1]

最大元素索引为 2

如何获得最大的元素索引?

4

4 回答 4

33

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

[ max_value, max_index ] = max( [ 3 9 1 ] )
于 2012-11-28T00:58:36.970 回答
3

我的标准解决方案是

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

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

于 2012-11-28T00:59:34.413 回答
1

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

array = [1, 2, 3; 6, 2, 1; 4, 1, 5];
[max_value max_index] = max(array, [], 2)

%3, 3
%6, 1
%5, 3
于 2017-04-25T11:08:05.617 回答
1
在八度如果
一个=
   1 3 2
   6 5 4
   7 9 8

1)对于每个列的最大值和它们的相应索引可以通过
>> [max_values,indices] =max(A,[],1)
最大值 =
   7 9 8
指数 =
   3 3 3


2)对于每行最大值和它们的相应索引可以通过
>> [max_values,indices] =max(A,[],2)
最大值 =
   3
   6
   9
指数 =
   2
   1
   2

同样对于最小值

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

指数 =
   1 1 1

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

指数 =
   1
   3
   1
于 2017-11-25T20:22:00.773 回答