如何在MATLAB中的矩阵列中找到最大值的索引?

时间:2010-09-09 04:38:12

标签: matlab matrix indexing max

我正在尝试在矩阵中找到某个列的最大值。我想找到它的最大值和行的索引。我怎么能这样做?

2 个答案:

答案 0 :(得分:14)

max命令可以找到最大值及其索引 这是一个例子:

>> A = randn(10,3)
A = 
       0.8884     -0.10224     -0.86365
      -1.1471     -0.24145     0.077359
      -1.0689      0.31921      -1.2141
      -0.8095      0.31286      -1.1135
      -2.9443     -0.86488   -0.0068493
       1.4384    -0.030051       1.5326
      0.32519     -0.16488     -0.76967
     -0.75493      0.62771      0.37138
       1.3703       1.0933     -0.22558
      -1.7115       1.1093       1.1174

>> [maxVal maxInd] = max(A)
maxVal =
       1.4384       1.1093       1.5326
maxInd =
     6    10     6

答案 1 :(得分:2)

如果您想要特定列的最大值,则只将该列传递给max,或者从结果索引列表中选择列。

%# create an array
A = magic(4)

A =
    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

%# select the maximum of column 3
[maxValue, rowIdx] = max(A(:,3),[],1)

maxValue =
    15
rowIdx =
     4

如果您需要在另一个数组中查找相应的值,请使用otherArray(rowIdx,3)