大規模なネットワーク構造の to-from ノードの nx2 マトリックスがあります。これを使用して、BIOGRAPH を使用してプロットできる疎な隣接行列を作成しました。私のシステムのサイズはさまざまで、最大のものは 3000 を超えるノードを持っています (明らかに、プロットには適していません)。
線を選択した場合、指定された X (通常は 3) に対して、元の線 (2 つのノード) から X の「ステップ」内にあるすべての線とノードのリストを作成できるようにしたいと考えています。ブルートフォースを使用することは明らかにそれほど難しくありません。ただし、これをできるだけ早く行う必要があります。
adj_mat = sparse(from_nodes, to_nodes, 1, s, s);
隣接行列を使用してこれを行う方法はありますか? to/from リストを使用してより効率的に行うことはできますか?
私が今行っているのは、選択したラインに接続されているノードのインデックスを見つけてから、to-from ノードのリスト全体を検索し、to/from 要素のいずれかが選択したラインのノードの 1 つと等しいすべてのラインを見つけることです。 . 次に、ノードの新しいリストを使用して to/from リスト全体を検索し、これらのノードを再度検索します。
私が今使用しているコードは次のようになります。
% tempBranch = the branches connected to the list of the current branches
k = 1;
for i = 1:nnz(nodeList) % number of after step X-1 (for X=0 this is
% equal to the nodes connected to the chosen line
for j = 1:n % n = number of lines
if branchList(j,1) == nodeList(i) || branchList(j,2) == nodeList(i)
tempBranch(k) = j;
k = k + 1;
end
end
end
ありがとうございました!