主要内容

邻接

图的邻接矩阵

描述

例子

一个=邻接(G)返回稀疏图的邻接矩阵G。如果(i, j)是一个优势G,然后(i, j) = 1。否则,(i, j) = 0

一个=邻接(G“加权”)返回一个加权邻接矩阵,为每一个优势(i, j),该值(i, j)包含边缘的重量。如果图没有边(i, j)设置为1。对于这个语法,G必须是一个简单的图,这样ismultigraph (G)返回

一个=邻接(G,权重)返回一个带权值的加权邻接矩阵的向量权重。为每条边(i, j)G,邻接矩阵的值(i, j) =重量(findedge (G, i, j))。对于这个语法,G必须是一个简单的图,这样ismultigraph (G)返回

例子

全部折叠

使用一个边缘列表,创建一个有向图,然后找到等效图的邻接矩阵表示。返回的邻接矩阵是稀疏矩阵。

s = [1 1 1 2 2 3];t = (2 3 4 5 6 7);G =有向图(s, t)
G =有向图的属性:边缘:x1表[6]节点:[7 x0表)
一个=邻接(G)
= (1、2)1 (1、3)1 (1、4)1 (2、5)1 (2,6)1 (3、7)1

使用一个上三角创建一个无向图邻接矩阵。当构建一个图的邻接矩阵,矩阵的非零值对应边的权值。

一个= [0 3 5 0 0 0 1 2;0 0 0 11;0 0 0 0]
一个=4×40 5 3 0 0 0 1 2 0 0 0 11 0 0 0 0
图G = (,“上”)
图G =属性:边缘:[5 x2表]节点:[4 x0表)
G.Edges
ans =5×2表EndNodes重量________ ________ 1 2 5 1 2 3 3 3 1 2 4 2 3 4 11

使用邻接返回图的邻接矩阵。不管邻接矩阵的形式用于构造图,邻接函数始终返回一个对称和稀疏的邻接矩阵只包含1和0。

B =邻接(G)
B = (2, 1) 1 (3,1) 1 (1、2) 1 (2) 1 (4,2) 1 (1、3) 1 (2、3) 1 (4,3) 1 (2、4) 1 (3, 4) 1

创建一个加权图。

G =有向图([1 1 1 2 3 4],[2 3 4 4 2 3],[5 6 7 8 9 10]);G.Edges
ans =6×2表EndNodes重量________ ________ 1 2 5 1 3 6 1 4 7 2 4 8 3 2 9 4 3 10

找到图的邻接矩阵。

一个=邻接(G)
= (1、2)1 (2)1 (1、3)1 (4,3)1 (1、4)1 (2、4)1

这种形式的边邻接矩阵不包括。使用“加权”选项包括邻接矩阵的边的权值。

一个=邻接(G,“加权”)
= (1、2)5 (2)9 (1、3)6 (4,3)10 (1、4)7 (2、4)8

预览一个完整的存储版本的矩阵。自G是一个有向图的邻接矩阵是不对称的。然而,邻接矩阵无向图的对称。

B =全(A)
B =4×49 0 5 6 7 8 0 0 0 0 0 0 0 0 10 0

输入参数

全部折叠

输入图,指定为一个有向图对象。使用创建一个无向图有向图创建一个有向图。

例子:图G = (1、2)

例子:2 G =有向图([1],[2 3])

边的权值,指定为一个向量。

例子:=邻接(G (1 2 3 4))

数据类型:|逻辑
复数的支持:金宝app是的

输出参数

全部折叠

邻接矩阵,作为一个稀疏矩阵返回。的大小一个numnodes (G)——- - - - - -numnodes (G)

提示

  • 边缘与体重零是不可见稀疏的返回的邻接矩阵邻接。这意味着加权邻接矩阵只能代表一个加权图如果没有边缘的重量为零。

扩展功能

C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。

版本历史

介绍了R2015b