floyd算法matlab程序的几个菜鸟问题。 20

a=[02312205InfInf3506Inf1Inf6062InfInf60]n=size(a,1);D=a;path=zeros(n,n);fori=1:nforj... a=[0 2 3 1 2
2 0 5 Inf Inf
3 5 0 6 Inf
1 Inf 6 0 6
2 Inf Inf 6 0]
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
结果是d =

0 2 3 1 2
2 0 5 3 4
3 5 0 4 5
1 3 4 0 3
2 4 5 3 0

path =

1 2 3 4 5
1 2 3 1 1
1 2 3 1 1
1 1 1 4 1
1 1 1 1 5

k =

5
问题:1.结果path的矩阵代表什么意思?是不是意思就是说中心点选为1是最佳,另外除了第一行的12345外,其他几行的那些数字代表什么呢?(最不理解的问题)
2.结果的k=5代表什么意思呢?
3.为什么要输入两次for i=1:n,j=1:n,不能写在前面吗?
4.为什么有时候程序自动运行,有时候有要输入d,path,k等来查呢?
诚心请教,谢谢各位,好的必加分。
展开
 我来答
BawBieB
2012-06-13 · TA获得超过500个赞
知道小有建树答主
回答量:515
采纳率:0%
帮助的人:269万
展开全部
飘过,专业学这个的才能回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式