,程序出错,求最短路径问题·····
a=zeros(53,53);a(36,35)=8.2;a(36,33)=14.9;a(35,38)=17.6;a(35,37)=11.5;a(38,39)=11;
a(38,2)=5.9;a(38,37)=12.2;a(37,34)=7.4;a(37,53)=8.8;a(34,32)=7.3;
a(32,33)=8.1;a(32,53)=9.2;a(53,30)=7.9;a(53,1)=12.9;a(33,31)=10.3;
a(31,52)=7.7;a(52,30)=7.2;a(52,29)=8.3;a(30,51)=15.2;a(1,2)=6;
a(1,39)=11.5;a(1,51)=10.1;a(1,49)=19.8;a(1,3)=9.2;a(39,4)=7.9;a(4,3)=4.8;
a(4,40)=8.2;a(40,5)=12.7;a(40,6)=11.3;a(3,6)=8.3;
a(6,49)=11.4;a(6,7)=9.7;a(40,8)=15.1;a(51,29)=12.1;a(51,27)=10.5;
a(27,28)=7.8;a(29,28)=7.9;a(28,25)=18.8;a(27,50)=10.5;a(50,25)=13.2;
a(50,24)=7.9;a(50,26)=8.8;a(50,49)=14.2;a(49,7)=9.5;a(49,26)=12;
a(26,22)=7.8;a(26,21)=6.5;a(7,48)=11.8;a(7,8)=7.3;a(8,48)=14.5;
a(8,41)=7.2;a(41,9)=8;
a(9,5)=20.4;a(41,12)=14.2;a(41,10)=7.8;a(10,42)=5.6;a(42,11)=10.8;
a(42,13)=12.2;a(43,13)=7.8;a(43,12)=6.8;
a(43,14)=8.6;a(46,12)=13.2;a(46,14)=9.8;a(46,45)=15.8;a(46,19)=8.2;
a(46,20)=8.1;a(48,20)=7.2;a(48,21)=5.5;a(21,22)=7.9;a(21,20)=9.3;
a(47,22)=4.1;a(47,23)=10.1;a(47,18)=9.8;a(47,19)=9.2;a(22,24)=9.1;
a(24,25)=8.9;a(24,23)=10;a(23,18)=6.7;
a(18,17)=6.8;a(45,17)=11.8;
a(45,19)=8.2;a(45,16)=8.8;a(16,15)=15;a(44,15)=9.9;a(44,13)=10.2;a(15,14)=8.6;a(39,2)=11.2;a(34,33)=19;a(34,36)=20.3;
a=a+a';
a(find(a==0))=inf;
pb(1:length(a))=0;pb(1)=1;index1=1;index2=ones(1,length(a));
d(1:length(a))=inf;d(1)=0;temp=1;
while sum(pb)<length(a)
tb=find(pb==0);
d(tb)=min(d(tb),d(temp)+a(temp,tb));
tmpb=find(d(tb)==min(d(tb)));
temp=tb(tmpb(1));
pb(temp)=1;
index1=;
temp2=find(d(index1)==d(temp)-a(temp,index1));
index2(temp)=index1(temp2(1));
end
d,index1,index2
??? Index exceeds matrix dimensions.
哪里有问题啊
页:
[1]