matlab实现floyd算法的程序存在问题
function[D,path]=floyd1(a)n=size(a,1);D=a;path=zeros(n,n);fori=1:nforj=1:nifD(i,j)~=i...
function [D,path]=floyd1(a)
n=size(a,1);
D=a;
path=zeros(n,n);
for i=1:n
for j=1:n
if D (i,j)~=inf
path(i,j)=j;
end
end
end
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);
path(i,j)=path(i,k);
end
end
end
end
请告诉我本段程序为什么存在问题,该怎么修改。为什么总是显示a是未定义的???????
运行时总会提示size(a,1)这句存在问题
我实在是不明白。 展开
n=size(a,1);
D=a;
path=zeros(n,n);
for i=1:n
for j=1:n
if D (i,j)~=inf
path(i,j)=j;
end
end
end
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);
path(i,j)=path(i,k);
end
end
end
end
请告诉我本段程序为什么存在问题,该怎么修改。为什么总是显示a是未定义的???????
运行时总会提示size(a,1)这句存在问题
我实在是不明白。 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询