帮助中心帮助中心
图邻接矩阵
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。对于此语法,G 必须是简单图,从而使 ismultigraph(G) 返回 false。
A(i,j)
ismultigraph(G)
false
A = adjacency(G,weights) 返回加权邻接矩阵,其边权重由向量 weights 指定。对于 G 中的每条边 (i,j),邻接矩阵的值 A(i,j) = weights(findedge(G,i,j))。对于此语法,G 必须是简单图,从而使 ismultigraph(G) 返回 false。
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 = 7x7 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: [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 = 4x4 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 = 4x4 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 = 4x4 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])
数据类型: double | logical 复数支持: 是
double
logical
邻接矩阵,以稀疏矩阵形式返回。A 的大小为 numnodes(G)×numnodes(G)。
numnodes(G)
在 adjacency 返回的稀疏邻接矩阵中,权重为零的边不可见。这意味着加权邻接矩阵仅在没有权重为零的边时才能表示加权图。
backgroundPool
ThreadPool
在 R2015b 中推出
graph | digraph | incidence | laplacian
incidence
laplacian
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
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