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
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