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