如何在 clustered/non-sequential 图表上使用 splitapply/findgroups?

How to use splitapply/findgroups on clustered/non-sequential graphs?

我需要对图中的非顺序节点索引实施 splitapply 函数。

我在具有非顺序簇的图上实现了 splitapply 函数。 returned 簇的索引号按顺序编号,但图顶点未按顺序编号。 我希望它 return 来自原始图形的确切节点索引。

S={' 1',' 1',' 2',' 6',' 6',' 8'};
T={' 2',' 3',' 3',' 8',' 9',' 9'};
weight=[2; 2; 2; 2; 2; 2];
G=graph(S,T,weight);

plot(G)
bins=conncomp(G);
clusters = splitapply(@(x) {x}, 1:numnodes(G), bins);

实际结果:clusters: [1,2,3];[4,5,6]
预期结果:clusters: [1,2,3];[6,8,9]

sample graph

在你的代码之后,尝试类似的东西

nodes = table2array(G.Nodes);
result = cellfun(@(x) nodes(x), clusters, 'uniformoutput', false);