2010-09-09 381 views

回答

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

通知,如果有一列數最大值,maxInd將只包括第一次出現。 – yuk 2010-09-09 04:48:28

+0

我嘗試了,但不斷收到以下錯誤:'索引不能產生多個結果。' – Jonathan 2010-09-09 04:49:00

+0

也是,我知道最大的特定列,我只是需要它給我排,有沒有辦法呢? – Jonathan 2010-09-09 04:49:42

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)

相關問題