Info

この質問は閉じられています。 編集または回答するには再度開いてください。

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

1 回表示 (過去 30 日間)
AAS
AAS 2020 年 4 月 23 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
for each node, I have many edges how can I make it choose the shortest edge per node?

回答 (1 件)

BobH
BobH 2020 年 4 月 23 日
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.

製品

Community Treasure Hunt

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

Start Hunting!

Translated by