ドキュメンテーションヘルプ センタードキュメンテーション
このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
グラフの隣接行列
A = adjacency(G)
A = adjacency(G,'weighted')
A = adjacency(G,weights)
例
A = adjacency(G) は、グラフ G のスパース隣接行列を返します。(i,j) が G のエッジである場合、A(i,j) = 1 です。それ以外の場合は A(i,j) = 0 です。
A
G
(i,j)
A(i,j) = 1
A(i,j) = 0
A = adjacency(G,'weighted') は重み付き隣接行列を返します。この行列の各エッジ (i,j) では、値 A(i,j) にエッジの重みが含まれます。グラフにエッジの重みがない場合、A(i,j) は 1 に設定されます。この構文では、ismultigraph(G) が false を返すように G は単純グラフでなければなりません。
A(i,j)
ismultigraph(G)
false
A = adjacency(G,weights) は、ベクトル weights で指定されたエッジの重みをもつ重み付き隣接行列を返します。G の各エッジ (i,j) では、隣接行列は A(i,j) = weights(findedge(G,i,j)) の値を持ちます。この構文では、ismultigraph(G) が false を返すように G は単純グラフでなければなりません。
weights
A(i,j) = weights(findedge(G,i,j))
すべて折りたたむ
エッジ リストを使用して有向グラフを作成し、次にグラフの等価な隣接行列の表現を求めます。隣接行列はスパース行列として返されます。
s = [1 1 1 2 2 3]; t = [2 3 4 5 6 7]; G = digraph(s,t)
G = digraph with properties: Edges: [6x1 table] Nodes: [7x0 table]
A = (1,2) 1 (1,3) 1 (1,4) 1 (2,5) 1 (2,6) 1 (3,7) 1
上三角隣接行列を使用して、無向グラフを作成します。隣接行列を使用してグラフを作成する場合、行列の非ゼロ値はエッジの重みに対応します。
A = [0 5 3 0;0 0 1 2; 0 0 0 11; 0 0 0 0]
A = 4×4 0 5 3 0 0 0 1 2 0 0 0 11 0 0 0 0
G = graph(A,'upper')
G = graph with properties: Edges: [5x2 table] Nodes: [4x0 table]
G.Edges
ans=5×2 table EndNodes Weight ________ ______ 1 2 5 1 3 3 2 3 1 2 4 2 3 4 11
adjacency を使用して、グラフの隣接行列を返します。グラフの作成に使用する隣接行列の形式には関係なく、関数 adjacency は常に、1 と 0 のみを含む対称かつスパースの隣接行列を返します。
adjacency
B = adjacency(G)
B = (2,1) 1 (3,1) 1 (1,2) 1 (3,2) 1 (4,2) 1 (1,3) 1 (2,3) 1 (4,3) 1 (2,4) 1 (3,4) 1
重み付きグラフを作成します。
G = digraph([1 1 1 2 3 4],[2 3 4 4 2 3],[5 6 7 8 9 10]); G.Edges
ans=6×2 table EndNodes Weight ________ ______ 1 2 5 1 3 6 1 4 7 2 4 8 3 2 9 4 3 10
グラフの隣接行列を求めます。
A = (1,2) 1 (3,2) 1 (1,3) 1 (4,3) 1 (1,4) 1 (2,4) 1
この形式の隣接行列は、エッジの重みを含みません。'weighted' オプションを使用して、隣接行列にエッジの重みを含めます。
'weighted'
A = (1,2) 5 (3,2) 9 (1,3) 6 (4,3) 10 (1,4) 7 (2,4) 8
行列の非スパースのストレージ形式をプレビューします。G は有向グラフであるため、隣接行列は非対称です。ただし、無向グラフの場合、隣接行列は "対称" です。
B = full(A)
B = 4×4 0 5 6 7 0 0 0 8 0 9 0 0 0 0 10 0
graph
digraph
入力グラフ。graph オブジェクトまたは digraph オブジェクトとして指定します。無向グラフの作成には graph を、有向グラフの作成には digraph を使用します。
例: G = graph(1,2)
G = graph(1,2)
例: G = digraph([1 2],[2 3])
G = digraph([1 2],[2 3])
エッジの重み。ベクトルで指定します。
例: A = adjacency(G,[1 2 3 4])
A = adjacency(G,[1 2 3 4])
データ型: double | logical 複素数のサポート: あり
double
logical
隣接行列。スパース行列として返されます。A のサイズは numnodes(G) 行 numnodes(G) 列です。
numnodes(G)
重みゼロのエッジは、adjacency で返されるスパース隣接行列に表示されません。つまり、重み付け隣接行列は、重みゼロのエッジがない場合にのみ重み付きグラフを表すことができます。
digraph | graph | incidence | laplacian
incidence
laplacian
この例の変更されたバージョンがあります。編集された方の例を開きますか?
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office