1

大規模なネットワーク構造の 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

ありがとうございました!

4

1 に答える 1