在MATLAB中获取矩阵的最小行

时间:2011-01-30 17:39:21

标签: matlab

我有一个矩阵,如:

1.0000   24.6914
2.0000   34.5679
3.0000   27.1605
4.0000   30.8642
5.0000   27.1605
6.0000   25.9259
7.0000   14.6914
8.0000   23.4568
9.0000   25.9259
10.0000  22.2222
 ...       ...
23.0000  23.4568

我知道如果我使用

min( MATRIX(:,2) )

我得到第2列的最小值,但是如何从第一列获得最小值相应的值?从示例中,我想要的结果是:

7.0000   14.6914

2 个答案:

答案 0 :(得分:6)

首先需要将索引设为最小值:

[minVal, minInd] = min( MATRIX(:,2) );

然后访问该索引的第一行:

MATRIX(minInd,1);

语法不那么优雅:

MATRIX(find(MATRIX(:,2)==min(MATRIX(:,2)),1));

答案 1 :(得分:3)

MATRIX(MATRIX(:,2)==min(MATRIX(:,2)),:)