Looking for all sub-networks among a network
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Benson Gou
el 24 de Oct. de 2018
Comentada: Guillaume
el 24 de Oct. de 2018
Dear All,
For a given network formed by lines and edges, how can I quickly find out all sub-networks? There is no connection among two sub-networks.
For example, the lines are given in a matrix A:
I know the sub-networks are: {6 2 3 4 5 7}, {1 8}. But how can I quickly find them out?
Thanks a lot. Benson
0 comentarios
Respuesta aceptada
Guillaume
el 24 de Oct. de 2018
Please don't post screenshots, particularly as it's trivial to write your matrix as text in the question. We can't copy/paste screenshots into matlab.
It is trivial to find the number of components in a graph, using matlab's graph functions, in particular graph.conncomp:
A = [6 2
6 3
2 3
4 5
6 4
1 8
2 7]
g = graph(A(:, 1), A(:, 2));
max(conncomp(g))
2 comentarios
Guillaume
el 24 de Oct. de 2018
You mean the node ID.
This is easily obtained with conncomp:
bin = conncomp(g);
accumarray(bin', (1:numel(bin))', [], @(nodes) {nodes'})
Más respuestas (0)
Ver también
Categorías
Más información sobre Construction en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!