矩阵中所有行的最小值

Posted

技术标签:

【中文标题】矩阵中所有行的最小值【英文标题】:minimum of all rows maximum in matrix 【发布时间】:2014-10-01 08:59:16 【问题描述】:

我必须找到矩阵中每一行最大值的最小值。然后打印包含该元素的行。为什么不能这样呢?

for(i=0; i<m; i++)
    
        for(j=0; j<n; j++)
        
            if(a[i][j]>max)
                max=a[i][j];

        
        if(min>max)
            min=max;
            p=i;
        
    

【问题讨论】:

欢迎来到 ***。请标记您正在使用的编程语言并提供您问题的完整示例,例如上述变量的声明。 我假设这是 C 代码,我的第一个猜测是您将最小值与整体最大值进行比较,而不是刚刚计算的最大值。 【参考方案1】:

您需要为每一行重置max

for(i=0; i<m; i++)
    
        max = 0;  // or some value less than the minimum value in the matrix

        for(j=0; j<n; j++)
        
            if(a[i][j]>max)
                max=a[i][j];

         
        if(min>max)
            min=max;
            p=i;
        
    

否则,一旦max 替换了min 一次,一个值就不能既大于max 又小于min

【讨论】:

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

Python:返回矩阵中最小值的行索引

矩阵优化中的所有最小值

在 Pandas、Python 中查找具有相同第一列的所有行的最小值、最大值、平均值

2D 中的滑动窗口最小值/最大值

NumPy:在子矩阵/块和相应的行、列索引中找到最小值

matlab 求出一维矩阵中最小值,且求出该最小值在矩阵中的位置,求各位帮帮忙