找到具有最低最大值的行/列

问题描述

考虑下面的矩阵:

A = randi([0 100],5,7)

62   59   20   42   49   41   83
37   34   13   65   82   47   24
93   33   19   93   30   37   20
42   49   74   96   26   41   21
14   85   14   90   77    4   96

首先我想找到每一行的最大值和列索引:

   83    7
   82    5
   93    1
   96    4
   96    7

然后我需要找到具有最低最大值的行:

82 5 2

到目前为止,我已经实现了:

close all;
clear all;
clc;

A = randi([0 100],7);

[M1,I1] = max(A,[],2);

[M1,I1]

[M2,I2] = min(M1);

[M2,I1(I2),I2]

虽然感觉像是一种解决方法,但我想知道是否有更规范的方法来做到这一点?也许是用于此特定目的的内置函数min/max 语法?

P.S.MATLAB Discord channel 上也分享了这个问题。

解决方法

find 的情况如何?

M = min(max(A,[],2));
[i,j] = find(A == M);
[M,j,i]