我有一个矩阵像:
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
Run Code Online (Sandbox Code Playgroud)
我知道,如果我使用
min( MATRIX(:,2) )
Run Code Online (Sandbox Code Playgroud)
我得到第2列的最小值,但是如何从第一列获得最小值和相应的值?从示例中,我想要的结果是:
7.0000 14.6914
Run Code Online (Sandbox Code Playgroud)
首先需要获取最小值的索引:
[minVal, minInd] = min( MATRIX(:,2) );
Run Code Online (Sandbox Code Playgroud)
然后访问该索引的第一行:
MATRIX(minInd,1);
Run Code Online (Sandbox Code Playgroud)
一个不那么优雅的语法是:
MATRIX(find(MATRIX(:,2)==min(MATRIX(:,2)),1));
Run Code Online (Sandbox Code Playgroud)