数学建模社区-数学中国
标题:
matlab编写dijkstare算法出现错误,求解谢谢!!!
[打印本页]
作者:
纽约车
时间:
2015-7-4 14:47
标题:
matlab编写dijkstare算法出现错误,求解谢谢!!!
%dijsk最短路径算法
clear,clc
G=[0 5 15 inf 10 17 inf inf inf;
6 0 inf 12 inf 10 20 14 inf;
15 inf 0 18 inf inf inf inf inf;
inf 12 18 0 inf inf inf 7 14;
10 inf inf inf 0 16 inf inf inf;
17 10 inf inf 16 0 15 inf inf;
inf 20 inf inf inf 15 0 11 inf;
inf 14 inf 7 inf inf 11 0 9;
inf inf inf 14 inf inf inf 9 0;];
%邻接矩阵
N=size(G,1); %顶点数
v0=1; %源点
v1=ones(1,N); %除去原点后的集合
v1(v0)=0;
%计算和源点最近的点
D=G(v0,:);
while 1
D2=D;
for i=1:N
if v1(i)==0
D2(i)=inf;
end
end
D2
[Dmin id]=min(D2);
if isinf(Dmin),error,
end
v0=[v0 id] %将最近的点加入v0集合,并从v1集合中删除
v1(id)=0;
if size(v0,2)==N,break;end
%计算v0(1)到v1各点的最近距离
fprintf('计算v0(1)到v1各点的最近距离\n');v0,v1
id=0;
for j=1:N %计算到j的最近距离
if v1(j)
for i=1:N
if ~v1(i) %i在vo中
D(j)=min(D(j),D(i)+G(i,j));
end
D(j)=min(D(j),G(v0(1),i)+G(i,j));
end
end
end
fprintf('最近距离\n');D
if isinf(Dmin),error,end
end
v0
%>> v0
作者:
纽约车
时间:
2015-7-4 14:50
笑脸那里是:这个符号
作者:
纽约车
时间:
2015-7-4 14:50
笑脸那里是:这个符号
作者:
纽约车
时间:
2015-7-4 14:50
笑脸那里是:这个符号
作者:
森之张卫东
时间:
2015-7-10 21:32
我的电脑能运行,不知道你的到底是啥问题?
部分结果.PNG
(110.14 KB, 下载次数: 127)
2015-7-10 21:32 上传
点击文件名下载附件
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5