急求助,摆脱,九点半要交
matlab吧
全部回复
仅看楼主
level 1
GhostM♤ 楼主
这个程序是最短路径的matlab算法,但是放在matlab里说
Error: Function definitions are not permitted in this context
求大家帮忙改一下,直接弄成可以运行的程序
最好能告诉我一下怎么样输入。。。谢谢了。。。
    %floyd.m
               %采用floyd算法计算图a中每对顶点最短路
               %d是矩离矩阵
               %r是路由矩阵
               function [d,r]=floyd(a)
               n=size(a,1);
               d=a;
               for i=1:n
                   for j=1:n
                       r(i,j)=j;
                   end
               end
               r
               for k=1:n
                   for i=1:n
                       for j=1:n
                           if d(i,k)+d(k,j)<d(i,j)
                               d(i,j)=d(i,k)+d(k,j);
                               r(i,j)=r(i,k)
                           end
                       end
                   end
                   k
                   d
                   r
               end

2011年05月20日 00点05分 1
1