最小值矩阵A第2~3行2列的索引行和索引列

Index row and index column of the minimum value matrix A in 2nd until 3rd row and 2nd column

我有如下MATLAB代码:

clear all;
clc;
A=[1 0 3;4 3 0;5 10 3]
[rows,columns]=find(A(:,2)==min(A(2:3,2)))

我想在第2到第3行和第2列中找到最小值矩阵A的索引行和索引列。手动,我们可以找到最小值为 3,索引行=2,索引列=2(见下图)

但是我的问题是如果我使用上面的代码,结果是不一样的。谁能帮帮我?

由于您输入的是列索引,因此无需再次查找。更好的方法是只做:

col_ind = 2;
[minimum, row_ind]  = min(A(2:3,col_ind)); 
row_ind = row_ind+1;      %1 is added since first row is skipped in above line

在您的代码中,

  • A(2:3, 2) 只有 1 列。所以 columns 将永远是 1.
  • 如果 A(1,2) 也与最小值相同,您的代码将 return 第一个值的行索引。
  • 在计算中跳过第一行和第一列的事实未包含在输出中。

解决以上问题:

[rows,columns]=find(A(2:3,2)==min(A(2:3,2)));
rows=rows+1;     columns=columns+1;