如何计算N+N维矩阵中的N数之和,值最大,每行每列仅选一个
请教各位:如何计算一个N*N维矩阵中的N个数之和,使其最大,其中每行每列均只能选一个元素。比如一个3*3维的矩阵如下:5 1 6
4 3 4
7 5 1
每一行必须并且只能选择一个元素,每一列同样如此,然后计算这些数之和,使得其在所有组合中值最大,上述例子选择的元素则是(1,3)的6,(2,2)的3,以及(3,1)的7,其和6+3+7=16是所有符合要求的组合中的最大值。
这个如何用matlab程序以最快的运算速度,最小的计算量来实现?正常情况N*N维的矩阵,是有N!种情况,请教各位有经验的人士,如何快速的计算出来,非常非常感谢!
k=max(a,[],2)%a矩阵的行最大值,每行的一起就出来了。
L=max(a)%a矩阵的列最大值,每一列的。
R=sum(k)%计算每行最大值的和
C=sum(L) %计算每列最大值的和
需要计算的矩阵很多,就把这几行程序写个循环。 楼主问题解决了吗?
k=max(a,[],2)%a矩阵的行最大值,每行的一起就出来了。
L=max(a)%a矩阵的列最大值,每一列的。
R=sum(k)%计算每行最大值的和
C=sum(L) %计算每列最大值的和
需要计算的矩阵很多,就把这几行程序写个循环。
页:
[1]