Find the shortest distance in cluster group.

Hi, i have a group of cluster, and the information of source and destination node. How can i find the shortest distance to the destination node and display the result?
This is my result:
start id = 18
finish id = 2
Group: 1
Members:
2 7 18
start id = 24
finish id = 8
Group: 2
Members:
1 8 10 12 15 16 24
start id = 14
finish id = 9
Group: 3
Members:
3 9 11 14
Hope someone can help and advice me.
Thanks

4 Comments

You cannot do that without knowing the edges and their weights.
How about implement dijkstra? Still need weights?
Yes, dijkstra needs weights as well.
In some cases weights are all the same and can all be designated as 1, but probably not in your case: your weights are probably more like euclidean distances.
OK sir, i have explain my question in following comment. Hope u will give some suggestion.
Thanks

Sign in to comment.

Answers (1)

Read about pdist, pdist2 and knnsearch.

2 Comments

Sir, The following is my code result.
disp(['start id = ' num2str(start_id)]);
disp(['finish id = ' num2str(finish_id)]);
disp(['distance = ' num2str(distance)]);
disp(['path = [' num2str(path) ']']);
disp(['Group: ',num2str(i)]);
disp('Members: ');
disp(save); save= 0;
Result:
start id = 90
finish id = 81
distance = 15.5563
path = [43 44 49 75 81 90]
Group: 13
Members:
43 44 49 75 81 90
start id = 94
finish id = 86
distance = 16.9706
path = [86 91 94]
Group: 14
Members:
86 91 94
start id = 100
finish id = 95
distance = 18.3848
path = [77 82 88 95 100]
Group: 15
Members:
77 82 88 95 100
I want to implement the shortestpath in each group. Then i implement this:
x = path;
w = rand;
g = graph(start_id,finish_id,w);
shortPath = shortestpath(g, start_id, finish_id);
However, it appear some error:
Error using graph/shortestpath (line 58)
Target must specify one node.
Error in map2 (line 356)
shortestpath(g, start_id, finish_id);
It that any way to solve it?
Thanks sir.
Distance between what and what? What does the path mean? If those are start and end node numbers then why do they appear beside each other in the first and third path, but not beside each other in the second path ?

Sign in to comment.

Asked:

on 9 Oct 2018

Commented:

on 10 Oct 2018

Community Treasure Hunt

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

Start Hunting!