Info

This question is closed. Reopen it to edit or answer.

How can I get my minimum spanning tree to select only one edge?

1 view (last 30 days)
for each node, I have many edges how can I make it choose the shortest edge per node?

Answers (1)

BobH
BobH on 23 Apr 2020
If this calculation is a smaller part of a larger problem like determining the shortest path between a pair of distant nodes, there is a function for the larger problem http://www.mathworks.com/help/bioinfo/ref/graphshortestpath.html
I am assuming "shorted edge" means the same as "lowest weight".
For a single node connected to multiple other nodes, for example node 1 connects to nodes 2-6 using weights of 4 6 8 10 12
s = [1 1 1 1 1];
t = [2 3 4 5 6];
w = [8 12 6 4 10];
R = sparse(s, t, w);
minw = min(R(1,[2:6])); % value of lowest weight for node 1, ignoring node 1
minwIx = find(R == minw); % index into R of the lowest weight. There may be more than one.

This question is closed.

Products

Community Treasure Hunt

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

Start Hunting!