constructing a bipartite graph from 0/1 matrix
19 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
R yan
el 6 de Abr. de 2016
Comentada: kalaiyarasan V
el 7 de Dic. de 2022
hi,
I have a 0/1 matrix H of size m by n. I want to create a bipartite graph G such that:
G has m+n vertices. One partition of G contains m vertices (corresponding to rows). Another partition contains n vertices (corresponding to columns). There will be an edge between i(from partition 1) and j (from partition 2) if H(i,j)=1 . Please suggest some approach. thanks
Respuesta aceptada
Mike Garrity
el 6 de Abr. de 2016
Perhaps something like this?
% Make a random MxN adjacency matrix
m = 3
n = 5
a = rand(m,n)>.25;
% Expand out to symmetric (M+N)x(M+N) matrix
big_a = [zeros(m,m), a;
a', zeros(n,n)];
g = graph(big_a);
% Plot
h = plot(g);
% Make it pretty
h.XData(1:m) = 1;
h.XData((m+1):end) = 2;
h.YData(1:m) = linspace(0,1,m);
h.YData((m+1):end) = linspace(0,1,n);
3 comentarios
Chetan Annam
el 14 de Jul. de 2021
Hi,
I don't understand how this h.XData, h.YData works. Please help me.
Más respuestas (0)
Ver también
Categorías
Más información sobre Graph and Network Algorithms 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!