【发布时间】:2012-09-16 11:59:06
【问题描述】:
假设你有一个二维矩阵,在 excel 或 matlab 中是否有特定的算法或方法可以找到每一行 和 列的最大值,这样每一列和每一行都有只有一个最大数 N,将所有 N 相加将产生最大可能的和,即是一个行或列有一个重复的最大数量。例如下面的简单示例
1 2 4
3 1 4
1 2 4
输出将是
1 2 4
3 2 4
1 2 4
【问题讨论】:
标签: matlab
假设你有一个二维矩阵,在 excel 或 matlab 中是否有特定的算法或方法可以找到每一行 和 列的最大值,这样每一列和每一行都有只有一个最大数 N,将所有 N 相加将产生最大可能的和,即是一个行或列有一个重复的最大数量。例如下面的简单示例
1 2 4
3 1 4
1 2 4
输出将是
1 2 4
3 2 4
1 2 4
【问题讨论】:
标签: matlab
您正在(完整)图中寻找最大二分匹配,其中您的矩阵表示边权重矩阵。您可以使用Hungarian algorithm 计算此值(MATLAB 实现可用于download from File Exchange)。由于您想要最大匹配,因此将矩阵中的所有数字取反并将其提供给此函数。您将返回两个输出 - 一个是最大和的(负数),另一个是二进制矩阵,其中最大元素出现在每一行和每一列中,而其他任何地方都为零。
【讨论】: