How to find all the edges connecting a specific node with other nodes?

28 views (last 30 days)
Hi,
Let G be an undirected graph of 1000 nodes. How can I find all the edges of a specific node?
I cannot pass the node's ID as an input argument to the built-in function "findedge", so I would appreciate your help and ideas.
Thanks

Accepted Answer

Christine Tobler
Christine Tobler on 20 May 2021
Use outedges to find the IDs of all outgoing edges, or neighbors to find all nodes connected to by these edges.

More Answers (1)

Steven Lord
Steven Lord on 20 May 2021
Let's take a sample undirected graph.
G = graph(bucky);
What nodes are connected to node 51?
N = neighbors(G, 51)
N = 3×1
49 52 55
Let's plot the graph then highlight node 51 and its neighbors in the plot with large red stars instead of the small blue circles of the rest of the nodes.
h = plot(G);
highlight(h, [51; N], 'MarkerSize', 12, 'NodeColor', 'r', 'Marker', '*')
We can see that each of nodes 49, 52, and 55 are indeed connected to node 51.
  1 Comment
Rayan Glus
Rayan Glus on 21 May 2021
Thank you so much for the great explanation.
Now, I can pass (s = 51) and its neighbors as t to built-in findedge.
Much appreciated.

Sign in to comment.

Categories

Find more on Graph and Network Algorithms in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!