How to find separate graphs
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have this graph
Ro=[0 0 0 1 0 0;
0 0 1 0 1 0;
0 0 0 0 0 0;
0 0 0 0 0 0;
0 0 0 0 0 0]
[row,col]=find(Ro==1)
G = graph(row,col);
plot(G)
I want to write a code that gives me set of separate graph. result shoud be [1,4],[2,3,5]
1 commentaire
Gareth
le 4 Jan 2019
Hi Naime,
There probably is an easier way to do this, however I am on R2018b, and on MAC and this is what I quickly came up with:
Ro=[0 0 0 1 0 0;
0 0 1 0 1 0;
0 0 0 0 0 0;
0 0 0 0 0 0;
0 0 0 0 0 0];
[row,col]=find(Ro==1);
G = graph(row,col);
plot(G)
%%% my simple answer
a = G.conncomp;
myN = 1:size(G.Nodes,1);
for i =1:size(unique(a),2)
myAns{i} = myN(a==i);
end
myAns{:}
Réponse acceptée
Gareth
le 4 Jan 2019
Ro=[0 0 0 1 0 0;
0 0 1 0 1 0;
0 0 0 0 0 0;
0 0 0 0 0 0;
0 0 0 0 0 0];
[row,col]=find(Ro==1);
G = graph(row,col);
plot(G)
%%% my simple answer
a = G.conncomp;
myN = 1:size(G.Nodes,1);
for i =1:size(unique(a),2)
myAns{i} = myN(a==i);
end
myAns{:}
3 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!