Connected components in a graph
9 ビュー (過去 30 日間)
古いコメントを表示
M=[1 2;2 5;3 4;4 6;6 7;6 8;6 9;6 10];
G=graph(M(:,1),M(:,2))
[bins,binsizes]=conncomp(G);
When I use the built in function conncomp, MATLAB always assumes that first component of graph G is the one which node 1 belongs to.
The output bins in the given example is:
bins=[1 1 2 2 1 2 2 2 2 2] How can I make the first component of my graph is where node 6 (for example) belongs to?
Your help would be appreciated.
Thanks!
0 件のコメント
採用された回答
Matt J
2020 年 12 月 14 日
編集済み: Matt J
2020 年 12 月 14 日
M=[1 2;2 5;3 4;4 6;6 7;6 8;6 9;6 10];
G=graph(M(:,1),M(:,2));
[bins,binsizes]=conncomp(G);
idx=[2,1];
binsizes=binsizes(idx);
bins=idx(bins)
3 件のコメント
Matt J
2020 年 12 月 15 日
You would just need to change idx to an appropriate permutation of 1:N, e.g.,
idx=[3,1,2,4]
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Undirected Graphs についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!