Make all point connected to other points.
Afficher commentaires plus anciens
Hi, i want to make all point has a connection to other with the following code.
x = [6 3 5 4 7 8];
idx = randperm(length(x));
y = x(idx);
start = x(:,2);
last = x(:,(length(x)));
w=randi(100, size(x));
G = digraph(x,y,w);
G = rmedge(G, 1:numnodes(G), 1:numnodes(G));
plot(G,'EdgeLabel',G.Edges.Weight) ;
path = shortestpath(G, start, last);
disp(['spf = ' num2str(path)]);
The result:

Is that possible to all point include no1 & 2 connect to each other?
Thanks.
6 commentaires
Walter Roberson
le 12 Oct 2018
What should 1 and 2 connect to? You do not have them in your node list, x, and you have not added an edge for them.
Asyran Abdullah
le 13 Oct 2018
Walter Roberson
le 13 Oct 2018
What should they be connected to and with what weight?
In the test I just ran, 1, 2, and 8 all showed up isolated. I guess 8 happened to get mapped to 8 by chance, and then when you removed the edges from nodes to themselves, it ended up isolated.
Asyran Abdullah
le 13 Oct 2018
Modifié(e) : Asyran Abdullah
le 13 Oct 2018
Asyran Abdullah
le 14 Oct 2018
Walter Roberson
le 14 Oct 2018
You mean like
x = min(x) : max(x)
Or should it be assumed that 1 will always be included?
If some of the values have been excluded, how do we know that the maximum has been included?
If it were a matter of figuring out which vertices did not have any edges incident to them, then that would not be difficult... though it does still assume that the maximum is present.
Réponses (0)
Catégories
En savoir plus sur Graph and Network Algorithms dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
