How to cluster a network?

4 visualizaciones (últimos 30 días)
abdullah nasser abdullah
abdullah nasser abdullah el 13 de Jul. de 2019
Editada: abdullah nasser abdullah el 17 de Jul. de 2019
Hello guys,
If I have a network ( Lets call it x) and it is described by the following edges:
x=[1 2 3 4 5 6]; %vertices in the network
Edg =[1 2; 1 3 ; 2 3 ; 3 4 ; 4 5;6 3; 5 6]; %edges
A=graph(Edg(:,1),Edg(:,2));
plot(A)
The graph A looks like this :
matalbg.PNG
If x is devided into two areas (we know the nodes in each area):
x1=[1 2 3];
x2=[3 4 5 6]; %the common vertex is 3
%edges is the same
Now i want to plot each area, so the graph above will be splitted into two graphs and vertix 3 is in both graphs.
To do this i need to write a code which gives the edges in each area, like this:
Edges for x1 [ 1 2; 2 3; 1 3]. Edges for x2 [ 3 6; 3 4; 4 5 ; 5 6].

Respuestas (1)

Akira Agata
Akira Agata el 14 de Jul. de 2019
How about applying biconncomp function?
The following is an example:
% Sample Graph
s = [1 1 2 2 3 4 4 5 6 6 7 7 8];
t = [2 3 3 4 4 5 7 6 7 10 8 9 9];
G = graph(s,t);
% Visualize G
figure
plot(G);
% Apply biconncomp function
bincell = biconncomp(G, 'OutputForm', 'cell');
n = length(bincell);
% Visualize the separated graphs
figure
for ii = 1:n
subplot(2,2,ii)
plot(subgraph(G, bincell{ii}), 'NodeLabel', bincell{ii});
end
Original Graph:
g1.png
Separated graphs:
g2.png
  1 comentario
abdullah nasser abdullah
abdullah nasser abdullah el 17 de Jul. de 2019
Editada: abdullah nasser abdullah el 17 de Jul. de 2019
Many thanks for your answer Mr. Akira,
Your answer perfectly fit if there is only one coupled node between any two areas,
but lets consider that i have more than coupled node like the following:
x=[1 2 3 4 5 6]; %vertices in the network
Edg =[1 2; 1 4 ; 2 3 ; 3 4 ; 4 5;6 3; 5 6]; %edges
G=graph(Edg(:,1),Edg(:,2));
plot(G)
And we want the paritioning to be like this:
Where 3 and 4 are the common node between the two areas.
I want something that work for larger systems; where i know the nodes for each area and i know the coupled nodes between them as well.

Iniciar sesión para comentar.

Categorías

Más información sobre Directed Graphs en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by