在每列和每行中查找最大值

时间:2012-09-15 18:54:29

标签: matlab

假设您有一个2D矩阵,是否有特定的算法或方法在excel或matlab中执行此操作,这将找到每行列的最大值,这样每列和每行都有只有一个最大数N,其中求和所有N将导致最大可能的和,即是一行或一列有一个重复的最大数字,如下面的简单示例

1 2 4          
3 1 4         
1 2 4         

输出将是

1 2 4

3 2 4

1 2 4

1 个答案:

答案 0 :(得分:1)

您正在寻找(完整)图中的最大二分匹配,其中矩阵表示边权重矩阵。您可以使用Hungarian algorithmdownload from File Exchange可用的MATLAB实现)计算此值。由于您需要最大匹配,否定矩阵中的所有数字并将其提供给此函数。你将得到两个输出 - 一个是最大和的(负),另一个是二进制矩阵,其中每个行和列中出现最大元素,其他地方为零。