How can we access individual edges in a Graph ?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
charu shree
le 21 Avr 2023
Réponse apportée : Steven Lord
le 21 Avr 2023
Hello all, I have the following Graph:
I know that with G.Edges , we can know the edges.
But I am not getting, how can I access individual edge of this Graph.
Any help in this regard will be highly appreciated.
sr = [1,2,2,2,3,3,3,4,5];
ta = [2,3,6,8,6,4,7,6,6];
G = graph(sr,ta);
plot(G)
3 commentaires
Réponse acceptée
Steven Lord
le 21 Avr 2023
I'd be careful asking for say "edge 8" because graph and digraph reserve the right to reorder the edges array if you insert or delete edges.
g = graph([1 2 3], [2 3 1])
g.Edges
originalEdge3 = g.Edges{3, :}
g = addedge(g, 2, 1)
newEdge3 = g.Edges{3, :}
originalEdge3 and newEdge3 are not the same edge. Before you ask no, there is no way to stop graph or digraph from doing this reordering.
If you want to ask if there is an edge between a source and target node, use findedge. Call it right before you need to access the edge, as adding or removing an edge can change the output of findedge as you saw above.
whichEdge = findedge(g, 2, 3)
g.Edges(whichEdge, :)
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Graph and Network Algorithms dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!