13
我試圖找到矩陣中某一列的最大值。我想查找它所在行的最大值和索引。我怎樣才能做到這一點?如何在MATLAB的矩陣列中找到最大值的索引?
我試圖找到矩陣中某一列的最大值。我想查找它所在行的最大值和索引。我怎樣才能做到這一點?如何在MATLAB的矩陣列中找到最大值的索引?
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
如果你想最大的特定列的,你只列傳遞到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)
通知,如果有一列數最大值,maxInd將只包括第一次出現。 – yuk 2010-09-09 04:48:28
我嘗試了,但不斷收到以下錯誤:'索引不能產生多個結果。' – Jonathan 2010-09-09 04:49:00
也是,我知道最大的特定列,我只是需要它給我排,有沒有辦法呢? – Jonathan 2010-09-09 04:49:42