我想在一个矩阵中找到某一列的最大值,并且要找到这个最大值所在行的索引。请问如何实现?
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)
[Y,I] = MAX(X,[],DIM)
。如果第三个参数是2,你将会得到每一行的最大值。 - yuk