花了一天时间总算没白费
A =[
0 2 8 1 Inf Inf Inf Inf
2 0 6 Inf 1 Inf Inf Inf
8 6 0 7 5 1 2 Inf
1 Inf 7 0 Inf Inf 9 Inf
Inf 1 5 Inf 0 3 Inf 8
Inf Inf 1 Inf 3 0 4 6
Inf Inf 2 9 Inf 4 0 3
Inf Inf Inf Inf 8 6 3 0];
A(isinf(A))=0;
for i=1:1:8
[d(i,:),p,pred]=graphshortestpath(sparse(A),i)
end
结果:
d =
0 2 7 1 3 6 9 11
p =
[1] [1x2 double] [1x5 double] [1x2 double] [1x3 double] [1x4 double] [1x6 double] [1x4 double]
pred =
0 1 6 1 2 5 3 5
d =
0 2 7 1 3 6 9 11
2 0 5 3 1 4 7 9
p =
[1x2 double] [2] [1x4 double] [1x3 double] [1x2 double] [1x3 double] [1x5 double] [1x3 double]
pred =
2 0 6 1 2 5 3 5
d =
0 2 7 1 3 6 9 11
2 0 5 3 1 4 7 9
7 5 0 7 4 1 2 5
p =
[1x5 double] [1x4 double] [3] [1x2 double] [1x3 double] [1x2 double] [1x2 double] [1x3 double]
pred =
2 5 0 3 6 3 3 7
d =
0 2 7 1 3 6 9 11
2 0 5 3 1 4 7 9
7 5 0 7 4 1 2 5
1 3 7 0 4 7 9 12
p =
[1x2 double] [1x3 double] [1x2 double] [4] [1x4 double] [1x5 double] [1x2 double] [1x5 double]
pred =
4 1 4 0 2 5 4 5
d =
0 2 7 1 3 6 9 11
2 0 5 3 1 4 7 9
7 5 0 7 4 1 2 5
1 3 7 0 4 7 9 12
3 1 4 4 0 3 6 8
p =
[1x3 double] [1x2 double] [1x3 double] [1x4 double] [5] [1x2 double] [1x4 double] [1x2 double]
pred =
2 5 6 1 0 5 3 5
d =
0 2 7 1 3 6 9 11
2 0 5 3 1 4 7 9
7 5 0 7 4 1 2 5
1 3 7 0 4 7 9 12
3 1 4 4 0 3 6 8
6 4 1 7 3 0 3 6
p =
[1x4 double] [1x3 double] [1x2 double] [1x5 double] [1x2 double] [6] [1x3 double] [1x2 double]
pred =
2 5 6 1 6 0 3 6
d =
0 2 7 1 3 6 9 11
2 0 5 3 1 4 7 9
7 5 0 7 4 1 2 5
1 3 7 0 4 7 9 12
3 1 4 4 0 3 6 8
6 4 1 7 3 0 3 6
9 7 2 9 6 3 0 3
p =
[1x6 double] [1x5 double] [1x2 double] [1x2 double] [1x4 double] [1x3 double] [7] [1x2 double]
pred =
2 5 7 7 6 3 0 7
d =
0 2 7 1 3 6 9 11
2 0 5 3 1 4 7 9
7 5 0 7 4 1 2 5
1 3 7 0 4 7 9 12
3 1 4 4 0 3 6 8
6 4 1 7 3 0 3 6
9 7 2 9 6 3 0 3
11 9 5 12 8 6 3 0
p =
[1x4 double] [1x3 double] [1x3 double] [1x3 double] [1x2 double] [1x2 double] [1x2 double] [8]
pred =
2 5 7 7 8 8 8 0