Dijstra 求解

Dijstra 求解

ID:43119513

大小:120.01 KB

页数:25页

时间:2019-09-26

Dijstra 求解_第1页
Dijstra 求解_第2页
Dijstra 求解_第3页
Dijstra 求解_第4页
Dijstra 求解_第5页
资源描述:

《Dijstra 求解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Dijstra求解clcclearalla=[110008250;9185500;1445560;7270570;3735670;2620995;100801435;100252280;71602525;138452680;119353050;78503545;65854185;76305200;134055325;21255975;153657045;141657385;88258075;58558165;7808355;127708560;22008835;147659055;77909330;44359525;108609635;1038510500;5659765;2

2、5809865;15659955;939510100;1483510365;125010900;728011065;1530511375;1239011415;641011510;1391511610;951012050;834512300;493013650;1326514145;1418014215;303015060;1091514235;233014500;773514550;88514880;1157515160;801015325];%a是各个点的坐标fori=1:51forj=1:51t=a(i,:)-a(j,:);c(i,j)=sqrt(t(1)^2+t(2)

3、^2);%两点之间的直线距离endenda=[[13;18;220;24;38;34;42;515;52;61;718;71;812;914;910;1018;107;1112;1213;1225;1215;1318;1319;1311;1418;1416;1417;1421;1522;1525;1623;1723;1831;1924;2022;2126;2136;2117;2230;2317;2431;2541;2519;2529;2731;2833;2922;3028;3041;3126;3134;3235;3223;3346;3328;3440;3538;3645;36

4、27;3740;3836;3927;4034;4045;4144;4137;4146;4243;4249;4338;4448;4450;4550;4542;4648;4740;4844;4950;4942;5040;018;021;026];%通路表b=zeros(51);fori=1:83b(a(i,1)+1,a(i,2)+1)=1;b(a(i,2)+1,a(i,1)+1)=1;enda=b.*c;fori=1:51forj=1:51ifa(i,j)==0a(i,j)=inf;endifi==ja(i,j)=0;endendendw=a;forp=1:51n=size(w,

5、1);w1=w(p,:);fori=1:nl(i)=w1(i);z(i)=1;ends=[];s(1)=1;u=s(1);k=1;whilekl(u)+w(u,i)l(i)=l(u)+w(u,i);z(i)=u;endendendendll=l;fori=1:nforj=1:kifi~=s(j)ll(i)=ll(i);elsell(i)=inf;endendendlv=inf;fori=1:nifll(i)

6、1a=l;t=z;elsea=[a;l];t=[t;z];endendfori=1:51a(i,i)=inf;%把相同的点赋值为无穷大endsavew.txta-ascii;%保存最小距离savet.txtt-ascii;%保存最小路径经过的点问题一的求解clearallclcformatshortw=[…………];p1=7;p2=10;sum=0;w(:,1)=inf;w(:,p1)=inf;w(:,p2)=inf;w(13,16)=inf;w(16,13)=inf;x1=[1,p1];x2=[p2,1];fori=1:15[s1,t1]=min(w(p1,:));[s2,

7、t2]=min(w(p2,:));sum=sum+s1+s2;w(:,t1)=inf;w(:,t2)=inf;p1=t1;p2=t2;ift1==9

8、t2==9disp('到达24时所走的距离')disp(sum)T=sum/1000/24+3*i/60;disp('到24所用的时间')disp(T)endift1==t2x1=[x1,t1];x=[x1,x2];break;endx1=[x1,t1];x2=[t2,x2];x=[x1,x2];enddisp('顺序为:')disp(x)disp('总的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。