www.gusucode.com > 用matlab和lingo软件解决了数学建模大赛2000年B题 > 用matlab和lingo软件解决了数学建模大赛2000年B题/钢管订购/findc2.m

    %计算任意两公路节点之间的最小单位运费函数
function c2=findc2(s)
w2=zeros(39);c2=zeros(39); 
w2=xlsread(s);
for i=1:39 w2(i,i)=0;end
for i=1:39                   
    for j=1:39
        if w2(i,j)>0&w2(i,j)<100000 w2(j,i)=w2(i,j);
        elseif w2(i,j)~=0  w2(i,j)=inf;   
        end
    end
end
dist=w2;
for k=1:39
    for i=1:39
       for j=1:39
            dist(i,j)=min((dist(i,k)+dist(k,j)),dist(i,j));
%             if (dist(i,k)+dist(k,j))<dist(i,j)
%                 dist(i,j)=dist(i,k)+dist(k,j);
%             end
            c2(i,j)=ceil(dist(i,j))*0.1;
        end
    end
end