0

假设你有一个二维矩阵,在 excel 或 matlab 中是否有特定的算法或方法可以找到每一行每一列的最大值,这样每一列和每一行只有一个最大数 N,其中对所有 N 求和将导致最大可能的总和,即行或列是否具有重复的最大数量。例如下面的简单示例

1 2 4          
3 1 4         
1 2 4         

输出将是

1 2 4

3 2 4

1 2 4

4

1 回答 1

1

您正在(完整)图中寻找最大二分匹配,其中您的矩阵表示边权重矩阵。您可以使用匈牙利算法计算此值(MATLAB 实现可从 File Exchange 下载)。由于您想要最大匹配,因此将矩阵中的所有数字取反并将其提供给此函数。您将返回两个输出 - 一个是最大和的(负数),另一个是二进制矩阵,其中最大元素出现在每一行和每一列中,其他任何地方都为零。

于 2012-09-15T19:47:56.610 回答