Convert Adjacency list of graph into Adjacency matrix
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I am working with Adjacency lists of a graph with 198 vertices and 2472 edges. How can I construct adjacency matrix of graph in Matlab?
Thank you for any help
Risposte (3)
Steven Lord
il 17 Ott 2018
How is your data stored?
Do you have a matrix or two vectors containing the endpoints of the edges? In this case you can use sparse or accumarray as Bruno suggested.
Is your data stored in a different way? If so, describe your storage system and we may be able to offer some guidance.
Guillaume
il 17 Ott 2018
One possible way to read your file:
lists = strsplit(fileread('list.txt'), {'\r', '\n'});
if isempty(lists{end}), lists = lists(1:end-1); end
lists = cellfun(@(v) sscanf(v, '%d'), lists, 'UniformOutput', false);
adj = sparse(repelem(1:numel(lists), cellfun('length', lists)), vertcat(lists{:}), 1)
If you want a full matrix:
full(adj)
0 Commenti
Vedere anche
Categorie
Scopri di più su Graph and Network Algorithms in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!