Create Incidence matrix from Graph theory?

16 ビュー (過去 30 日間)
Sonakshi Dua
Sonakshi Dua 2020 年 8 月 20 日
コメント済み: Sonakshi Dua 2020 年 8 月 20 日
How do I create the Incidence Matrix from the given graph?
I tried the following code, but the incidence matrix formed is completly wrong:
G=digraph( [ 1 2 2 2 3 4] , [4 1 3 4 1 3]);
I=incidence(G);
The nodes are 1, 2 ,3 and 4.

採用された回答

Binbin Qi
Binbin Qi 2020 年 8 月 20 日
ok
>> G=digraph( [ 1 2 2 2 3 4] , [4 1 3 4 1 3]);
>> I = full(incidence(G))
I =
-1 1 0 0 1 0
0 -1 -1 -1 0 0
0 0 1 0 -1 1
1 0 0 1 0 -1

その他の回答 (2 件)

Steven Lord
Steven Lord 2020 年 8 月 20 日
The incidence matrix you posted in your comment on Binbin Qi's answer is not the correct incidence matrix for the digraph you provided in your original message.
The first column of your incidence matrix indicates the digraph has an edge from 3 to 4. Your digraph has an edge from 4 to 3, but not one from 3 to 4.
The second column indicates an edge from 3 to 2. You have an edge from 2 to 3.
Column 4 is correct; it indicates one of the edges is from 2 to 4 and that edge is indeed included in the digraph.
I think you may be using a different convention from the incidence function for digraph objects. From its documentation page " If s and t are the node IDs of the source and target nodes of the jth edge in G, then I(s,j) = -1 and I(t,j) = 1." You seem to be using 1 for the source and -1 for the target (except for in column 4.) If you want to use that convention, multiply the matrix returned by incidence by -1.
The columns of the incidence matrix you posted are also in a different order than the one returned by incidence, which returns them in the order in which the edges are stored in the Edges property in the digraph.
  1 件のコメント
Sonakshi Dua
Sonakshi Dua 2020 年 8 月 20 日
Okay Okay, I understood I had been taking the wrong convention. Thank You for the help.

サインインしてコメントする。


Binbin Qi
Binbin Qi 2020 年 8 月 20 日
>> G=digraph( [ 1 2 2 2 3 4] , [4 1 3 4 1 3]);
>> full(G.adjacency)
ans =
0 0 0 1
1 0 1 1
1 0 0 0
0 0 1 0
  1 件のコメント
Sonakshi Dua
Sonakshi Dua 2020 年 8 月 20 日
@Binbin Qi This is the adjaccency matrix, I want the incidence matrix, which contains both 1,-1 and 0 values.
The Answer :
0 0 -1 0 -1 1
0 1 1 -1 0 0
- 1 -1 0 0 1 0
1 0 0 1 0 -1

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGraph and Network Algorithms についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by