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

36 views (last 30 days)
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.

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.

Community Treasure Hunt

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

Start Hunting!