List of Node pairs
Mostra commenti meno recenti
How can I get a matrix of node pairs from a graph? That is, if there are 4 nodes 1,2,3,4, then the node pair matrix would be :
1 2
1 3
1 4
2 1
2 3
2 4
3 2 etc.
I could do this using 2 for loops, but is there any quick way of doing it?
2 Commenti
Akira Agata
il 16 Lug 2021
Questions for clarification:
- You want to obtain node pair matrix from graph object ?
- If the graph has an edge from node m to node n, you need both (n, m) and (n, m) in your matrix?
Hari
il 16 Lug 2021
Risposta accettata
Più risposte (2)
Simon Chan
il 16 Lug 2021
Basically you just want to create the matrix, right?
u=1:4;
u_entend = repelem(u,1,length(u)-1);
w = repmat(u',1,length(u));
v = reshape(tril(w,-1) + triu(w,1),1,[]);
v = v(v~=0);
node_pair = [u_entend;v]'
Result:
node_pair =
1 2
1 3
1 4
2 1
2 3
2 4
3 1
3 2
3 4
4 1
4 2
4 3
u=1:4;
[s,t] = ndgrid(u);
v = [s(:),t(:)];
mask = v(:,1) ~= v(:,2);
v = v(mask,:);
v
Categorie
Scopri di più su Graph and Network Algorithms in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!