Main Content

incidence

説明

I = incidence(G) は、グラフ G のスパース接続行列を返します。s および tGj 番目のエッジのソース ノードおよびターゲット ノードのノード ID である場合、I(s,j) = -1 かつ I(t,j) = 1 です。つまり、I の各列は、G の 1 本のエッジのソース ノードおよびターゲット ノードを示します。

すべて折りたたむ

エッジ リストを使用してグラフを作成し、グラフの接続行列を計算します。

s = [1 1 1 1 1];
t = [2 3 4 5 6];
G = graph(s,t);
I = incidence(G)
I = 
   (1,1)       -1
   (2,1)        1
   (1,2)       -1
   (3,2)        1
   (1,3)       -1
   (4,3)        1
   (1,4)       -1
   (5,4)        1
   (1,5)       -1
   (6,5)        1

I の各列には非ゼロ要素が 2 つあります。これは、G の 1 本のエッジの終了ノードを示します。

グラフのラプラシアン行列 L を計算し、無向グラフについて関係 L = I*I' を確認します。

L = laplacian(G);
L - I*I'
ans = 
   All zero sparse: 6x6

エッジ リストを使用して有向グラフを作成し、グラフの接続行列を計算します。

s = [1 2 1 3 2 3 3 3];
t = [2 1 3 1 3 4 5 6];
G = digraph(s,t)
G = 
  digraph with properties:

    Edges: [8x1 table]
    Nodes: [6x0 table]

I = incidence(G)
I = 
   (1,1)       -1
   (2,1)        1
   (1,2)       -1
   (3,2)        1
   (1,3)        1
   (2,3)       -1
   (2,4)       -1
   (3,4)        1
   (1,5)        1
   (3,5)       -1
   (3,6)       -1
   (4,6)        1
   (3,7)       -1
   (5,7)        1
   (3,8)       -1
   (6,8)        1

I の各列は、G の 1 本のエッジのソース ノードとターゲット ノードを表します。

入力引数

すべて折りたたむ

入力グラフ。graph オブジェクトまたは digraph オブジェクトとして指定します。無向グラフの作成には graph を、有向グラフの作成には digraph を使用します。

例: G = graph(1,2)

例: G = digraph([1 2],[2 3])

出力引数

すべて折りたたむ

接続行列。スパース行列として返されます。I のサイズは numnodes(G)numedges(G) 列です。自己ループをもつグラフでは、グラフの接続行列は未定義です。

ヒント

  • 関数 incidence は、"符号付き" または "有向" 接続行列と一般的に呼ばれる接続行列の種類を計算します。無向グラフの符号付き接続行列 I は、グラフのラプラシアン行列 LL == I*I' の関係があります。

拡張機能

スレッドベースの環境
MATLAB® の backgroundPool を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool を使用してコードを高速化します。

バージョン履歴

R2015b で導入