Matlab找到矩阵最小行

Posted

技术标签:

【中文标题】Matlab找到矩阵最小行【英文标题】:Matlab finding matrix minimum row 【发布时间】:2011-10-31 01:13:28 【问题描述】:

我有一个大小为 Nx4 的矩阵 A,我想在该矩阵的第 2 列和第 4 列中找到最小对并获取该行的编号,我该怎么做?

例如:

200000  1,23076923076923    20  1,41538461538462
200000  1,23076923076923    200 1,32307692307692
200000  1,23076923076923    2000    1,32307692307692
200000  1,23076923076923    20000   1,29230769230769
200000  1,23076923076923    200000  1,41538461538462

我需要这样的东西min(A(:, 2), A(:, 4));

答案将在第 4 行。

【问题讨论】:

【参考方案1】:

什么是“最小对”?

如果是第二列和第四列都最低的那对,答案是

minimumRow = find(A(:,2)==min(A(:,2)) & A(:,4) == min(A(:,4)));

如果是总和最小的一对,答案是

[~,minimumRow] = min(sum(A(:,[2 4]),2));

【讨论】:

以上是关于Matlab找到矩阵最小行的主要内容,如果未能解决你的问题,请参考以下文章

matlab中如何求矩阵的最大值和最小值?

在 MATLAB 中找到三维矩阵中的有符号最小值

matlab 怎么找出二维矩阵中最大值的位置

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

最小(x,y)对值的Matlab矩阵索引

在Matlab中找到列向量中一组数字的最小值