How to find out number of source nodes and average indegree of a source node in directed graph?
1 view (last 30 days)
Show older comments
Mouli Sarkar
on 2 Aug 2021
Commented: Srijith Kasaragod
on 6 Aug 2021
I have a dataset from which I have created a directed graph.
How I want to find out indegree of source nodes and number of source node. And want to do the same thing for target nodes of that directed graph.
Here is my code.
m = readtable('rough.csv')
col1= m{:,1}
col2= m{:,2}
col3= m{:,3}
g= digraph(col1,col2,col3)
plot(g,'Layout','force','EdgeLabel',g.Edges.Weight)
0 Comments
Accepted Answer
Srijith Kasaragod
on 5 Aug 2021
As per my understanding you have a directed graph and you want to compute indegree and number of source and target nodes. The following lines of code shows one of the possible ways:
%store edges and nodes into variables
edges= g.Edges;
nodes= g.Nodes;
%filter out source and target nodes from edges
s= unique([edges{:,1}(:,1)])
t= unique([edges{:,1}(:,2)])
%input graph and source or target nodes into ‘indegree’ function
in_deg_s= indegree(g,s);
in_deg_t= indegree(g,t);
%count the number of source and target nodes
no_source= numel(s);
no_target= numel(t);
2 Comments
Srijith Kasaragod
on 6 Aug 2021
@Mouli Sarkar I recommend you create another post for this question to get a faster response.
More Answers (0)
See Also
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!