fc01.m

来自「图论中的匈牙利算法」· M 代码 · 共 28 行

M
28
字号
function    [e,s]=fc01(a,flag)

if  nargin==1               %得到用户提供的输入变量
    flag=0;
end
b=a;
if  flag==0
    cmax=max(max(b)');       %求矩阵B的最大值
    b=cmax-b;
end 
m=size(b);                   %M的值为矩阵B的行列数 
for i=1:m(1)
    b(i,:)=b(i,:)-min(b(i,:));
end
for j=1:m(1)
    b(:,j)=b(:,j)-min(b(:,j));
end
d=(b==0);
[e,total]=fc02(d);
while   total~=m(1)
    b=fc03(b,e);
    d=(b==0);
    [e,total]=fc02(d);
end
inx=sub2ind(size(a),e(:,1),e(:,2));
e=[e,a(inx)];
s=sum(a(inx));

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?