convert adjacency matrix to edge list
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
if i have this code
function el=adj2edge(adj)
n=length(adj); % number of nodes
edges=find(adj>0); % indices of all edges
el=[];
for e=1:length(edges)
[i,j]=ind2sub([n,n],edges(e)); % node indices of edge e  
el=[el; i j adj(i,j)];
end
to convert adjacency matrix to edgelist i.e if i input
   0 1 1
   1 0 0
   1 0 0
the output is 
   2 1 1
   3 1 1 
   1 2 1
   1 3 1
but i want
   1 2
   1 3 
only
0 comentarios
Respuestas (2)
  Walter Roberson
      
      
 el 16 de Feb. de 2017
        Remove the third column. Sort along the second dimension. unique() by rows.
0 comentarios
  Ratha Pech
 el 19 de Mzo. de 2017
        Replace the line edges=find(adj>0); % indices of all edges with edges=find(triu(adj>0)); % indices of all edges
0 comentarios
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!