八度:找到一行中的最小值,也是它的索引

时间:2017-08-10 08:29:14

标签: find octave min indices

如何找到每行中的最小值,以及最小值的索引?

octave:1> a = [1 2 3; 9 8 7; 5 4 6]
a =

   1   2   3
   9   8   7
   5   4   6

4 个答案:

答案 0 :(得分:10)

在文档中很难找到。 https://www.gnu.org/software/octave/doc/v4.0.3/Utility-Functions.html

octave:2> [minval, idx] = min(a, [], 2)
minval =

   1
   7
   4

idx =

   1
   3
   2

答案 1 :(得分:4)

如果A是您的矩阵,请执行:

[colMin, row] = min(A);
[rowMin, col] = min(A');

colMin将是每行中的最小值,并列入列索引。 rowMin将是每列中的最小值,并对行索引进行排序。

要查找最小元素的索引:

[colMin, colIndex] = min(min(A)); 
[minValue, rowIndex] = min(A(:,colIndex))

答案 2 :(得分:2)

假设X是矩阵
row,col =最小值的行和列索引

[min_value, column_index] = min(X(:))
[row, col] = ind2sub(size(X),column_index)

答案 3 :(得分:0)

给定一个大小为 m x n 的矩阵 A,您需要找到 x 列中最小值的行号。


例如 A 是 64x3 大小;

search_column = 3; 

[val,row] = min(results(:,search_column),[],1);

#row has the row number for the smallest value in the 3rd column.

获取最小行值的第一列和第二列的值

column1_value = A(row,1);
column2_value = A(row,2);