fastest path between more than two nodes

2 views (last 30 days)
Salah Gohar
Salah Gohar on 18 Nov 2021
Commented: Christine Tobler on 18 Nov 2021
I have a table of 217 node and i want to compute the fastestpath between only 20 node which called OD.
i have also a column which define these OD nodes from 1 to 20 and the other nodes are 0.
how can i write this code ; ”0” = no ShortestPath Calc; otherwise OD node?
  2 Comments
Salah Gohar
Salah Gohar on 18 Nov 2021
i have also the connectivity information and i already wrote the code for the Graph.
i tried this code to define the 20 OD node:
v=1
for i=1:217
if ODnode(i) ~= 0
OD(v) = ODnode(i);
i_no(v)=i;
v= v+1;
end
end
OD
i_no
i need now to get the shortest path between all the 20 ODnodes!

Sign in to comment.

Answers (1)

Christine Tobler
Christine Tobler on 18 Nov 2021
To compute simply the shortest-path distance, you can use the distances function and pass in a graph object you've constructed using the connectivity information, and the OD vector you constructed above.
If you need the paths, you will need a for-loop:
for i=1:length(OD)
for j = 1:length(OD)
paths{i, j} = shortestpath(G, OD(i), OD(j));
end
end
  2 Comments
Christine Tobler
Christine Tobler on 18 Nov 2021
You need to use a for-loop and call shortestpath with just one node at a time, like in the code I added above.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!