MATLAB ヘルプ センター
グラフの隣接行列
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: [6×1 table] Nodes: [7×0 table]
A = 7×7 sparse double matrix (6 nonzeros) (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: [5×2 table] Nodes: [4×0 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 = 4×4 sparse double matrix (10 nonzeros) (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 = 4×4 sparse double matrix (6 nonzeros) (1,2) 1 (3,2) 1 (1,3) 1 (4,3) 1 (1,4) 1 (2,4) 1
この形式の隣接行列は、エッジの重みを含みません。'weighted' オプションを使用して、隣接行列にエッジの重みを含めます。
'weighted'
A = 4×4 sparse double matrix (6 nonzeros) (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])
データ型: single | double | logical 複素数のサポート: あり
single
double
logical
隣接行列。スパース行列として返されます。A のサイズは numnodes(G) 行 numnodes(G) 列です。
numnodes(G)
重みゼロのエッジは、adjacency で返されるスパース隣接行列に表示されません。つまり、重み付け隣接行列は、重みゼロのエッジがない場合にのみ重み付きグラフを表すことができます。
すべて展開する
backgroundPool
ThreadPool
エッジの重みの入力引数 weights は単精度として指定できます。weights が single の場合、出力引数も single になります。
graph | digraph | incidence | laplacian
incidence
laplacian
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ