用matlab实现floyd算法的问题 急 在线等 20
%floyd.m%采用floyd算法计算图a中每对顶点最短路%d是矩离矩阵%r是路由矩阵function[d,r]=floyd(a)n=size(a,1);d=a;for...
%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
这个是M文件
然后在命令行中输入a矩阵 a=[0 2 3 0;2 0 1 4;3 1 0 5;0 4 5 0] 结果显示
“Undefined function or method 'floyd' for input arguments of type
'double'.” 展开
%采用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
这个是M文件
然后在命令行中输入a矩阵 a=[0 2 3 0;2 0 1 4;3 1 0 5;0 4 5 0] 结果显示
“Undefined function or method 'floyd' for input arguments of type
'double'.” 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询