图表

图与无向边

描述

图表对象表示无向图,其具有连接节点方向更少的边缘。您创建一个图形对象后,您可以通过使用对象功能来执行针对对象查询了解更多的图形。例如,可以添加或删除节点或边缘,确定两个节点之间的最短路径,或找到特定的节点或边。

G =图([1 1],[2 3]);E = G.Edges G = addedge(G,2,3)G = addnode的(G,4)图(G)

创建

描述

例子

=图表创建一个空的无向图的对象,,它没有节点或边缘。

例子

=图表(一个)使用正方形对称邻接矩阵创建加权图,一个.在每个非零项的位置一个指定了图中的边,并且边的权重等于项的值。例如,如果A(2,1)= 10,然后含有重量为10节点2和节点1之间的边缘。

例子

=图表(一个,节点名)另外指定节点名称。元素的数量节点名必须等于尺寸(A,1).

=图表(一个,节点)指定节点使用表名(和可能的其他节点的属性),节点.该表必须有相同的行数为一个. 使用表variable名称.

例子

=图表(一个,___,类型)指定的邻接矩阵的三角在构造图使用。您必须指定一个并可选择指定节点名要么节点. 仅使用一个构造图,类型可以是'上'要么'降低'.

例子

=图表(一个,___'omitselfloops')忽略的对角元素一个并返回,没有任何自我循环的图表。您可以在前面的语法使用任何输入参数的组合。

例子

=图表(S,T)指定图中的边(s,t)在节点对。s公司t型可以指定节点指数或节点名称。

例子

=图表(S,T,权重)还指定与阵列边权权重.

例子

=图表(S,T,权重,节点名)指定节点使用字符载体或字符串数​​组的单元阵列的名称,节点名.s公司t型不能包含不在节点名称节点名.

=图表(S,T,权重,节点)指定节点使用表名(和可能的其他节点的属性),节点. 使用名称表变量。s公司t型不能包含不在节点名称节点.

例子

=图表(S,T,权重,NUM)指定用数字标量图中的节点的数目NUM.

=图表(S,T,___'omitselfloops')不添加任何自循环的图形。也就是说,任何满足S(k)的== T(K)被忽略。您可以在前面的语法使用任何输入参数的组合。

=图表(S,T,EdgeTable,___)使用表指定边属性,而不是指定权重.该EdgeTable输入必须与一个行的表中的每个对应的一对元件s公司t型. 使用表格变量指定边权重重量.

例子

=图表(EdgeTable)使用表EdgeTable来定义图表。有了这个语法,在第一个变量EdgeTable必须命名EndNodes,而且它必须是一个两列的阵列限定的曲线图的边列表。

例子

=图表(EdgeTable,节点)使用表进一步指定图形节点的名称(以及可能的其它属性),节点.

=图表(EdgeTable,___'omitselfloops')不添加自循环的图形。也就是说,任何满足EdgeTable.EndNodes(K,1)== EdgeTable.EndNodes(K,2)被忽略。必须指定EdgeTable并可选择指定节点.

输入参数

展开全部

邻接矩阵,指定为一个完整的或稀疏,数字矩阵。中的条目一个指定的连接(边缘)的曲线图的节点之间的网络。在每个非零项的位置一个指定两个节点之间的边缘。该条目的值提供边缘权重。逻辑邻接矩阵导致的未加权曲线图。

上的主对角线非零元素一个指定自循环,或通过边连接到自身的节点。使用'忽略自我循环'输入选择忽略对角线项。

一个必须是对称的,除非类型输入被指定。采用issymmetric确认矩阵对称性。对于三角形邻接矩阵,请指定类型只使用上或下三角形。

例:A=[0 1 5;1 0 0;5 0 0]描述了具有三个节点和两个边缘的曲线图。节点1和节点2之间的边缘的重1个,节点1和节点3之间的边的权重为5个.

数据类型:||符合逻辑的

节点名,指定为字符向量或串阵列的单元阵列。节点名的长度必须等于numnodes(G)因此,它包含了图中每个节点的非空,唯一的名称。

例:G =图表(A,{ 'N1', 'N2', 'N3'})为3乘3邻接矩阵指定三个节点名,一个.

数据类型:细胞|

邻接矩阵的类型,指定为'上'要么'降低'.

例:G=图表(A,“上”)仅使用的上三角一个构造图,.

节点对指定为节点指数或节点名称。图表创建在相应的节点之间的边s公司t型,这必须都是数字的,或两者是字符向量,特征向量,字符串数组,或分类阵列的单元阵列。在所有情况下,s公司t型必须具有相同数量的元素。

  • 如果s公司t型是数值,则它们对应于图中的节点的索引。数字节点索引必须是正整数大于或等于1。

  • 如果s公司t型是字符向量,特征向量的单元阵列,或串阵列,然后它们指定的节点的名称。该节点该图的属性是一个含有一个表名称变量的节点名,G.Nodes.Name.

  • 如果s公司t型是分类阵列,则类别s公司t型被用作在图中的节点名称。这可以包括不在元件类别s公司要么t型.

  • 如果s公司t型指定相同的两个节点之间的多个边缘,则结果为一复印印刷.

该表显示了不同的方式或者通过他们的数字节点指数或通过他们的节点名称是指一个或多个节点。

形式 单节点 多个节点
节点索引

纯量

例:1个

矢量

例:[1 2 3]

节点名

字符向量

例:'一个'

字符向量的单元阵列

例:{ 'A' 'B' 'C'}

串标

例:“一个”

String数组

例:[“A”“B”“C”]

分类数组

例:分类(“A”)

分类数组

例:分类([“A”“B”“C”])

例:G =图([1 2 3],[2 4 5])创建具有五个节点和三个边缘的曲线图。

例:G =图({'波士顿'纽约“华盛顿特区。”},{“纽约”'新泽西“匹兹堡”})创建五个命名节点和三个边的图。

边权,指定为一个标量,矢量,矩阵或多维数组。权重必须是标量或者与相同数量的元素作为阵列s公司t型.

图表存储边权作为重量在变量G.Edges属性表。要在创建图表后添加或更改权重,可以直接修改表变量,例如,G.Edges.Weight = [25 50 75]”.

如果您指定权重作为一个空数组[],那么它将被忽略。

例:G=图表([12],[23],[100 200])创建一个具有三个节点和两个边缘的曲线图。边缘具有权重100200.

数据类型:|

图中的节点,指定为正标量整数的数目。NUM必须大于或等于最大元素s公司t型.

例:G=图形([12],[23],[],5)创建一个具有三个连接的节点和两个隔离的节点的图。

的边缘信息表。如果没有指定s公司t型,则中的第一个变量EdgeTable需要是一个两列矩阵,字符向量的单元阵列中,或字符串数​​组称为EndNodes定义图形边的。对于边权重,使用变量重量中,由于该表中的变量名称所使用的一些曲线图的功能。如果有一个变量重量,那么它必须是数字列向量。看到关于构建表的详细信息。

创建的曲线图后,使用查询边缘信息表G.Edges.

例:EdgeTable=表([1 2;2 3;3 5;4 5],'VariableNames',{'EndNodes'})

数据类型:

的节点信息表中。节点可以包含任意数量的变量来描述图中的节点的属性。对于节点名称,使用变量名称,因为某些图形函数使用此变量名。如果有变量名称,那么它必须是字符向量或字符串数​​组每一行中,指定一个唯一的名称的单元阵列。看到关于构建表的详细信息。

被创建的图形后,使用查询节点信息表G、 节点.

例:NodeTable=表({'a';'b';'c';'d'},'VariableNames',{'Name'})

数据类型:

输出参数

展开全部

无向图中,返回为图表宾语。

属性

展开全部

图形的边缘,返回一个表。默认情况下,这是一个-通过-1个表,其中是图中的边缘的数量。

  • 到新的边缘属性添加到图中,创建在一个新的可变边缘表。

  • 从图表中添加或删除的边缘,使用addedge要么rmedge对象的功能。

例:G.Edges返回一个表格列出了图中的边

例:G。边缘。重量返回边缘权重的数值向量。

例:G.Edges.Weight = [10 20 30 55]”用于指定图形新边缘的权重。

例:G.Edges.NormWeight = G.Edges.Weight /总和(G.Edges.Weight)增加了一个新的边缘属性来包含的边缘的权重标准化的表。

数据类型:

图的节点,作为表返回。默认情况下,这是空的N个-通过-0个表,其中N个是图表中的节点数。

  • 到新节点的属性添加到图表,创建在一个新的可变节点表。

  • 从图表添加或删除节点,使用addnode的要么rmnode对象的功能。

例:G、 节点返回一个表,列出图形的节点属性。默认情况下,此表为空。

例:G。节点。名称={“蒙大拿”,“纽约”,“华盛顿”,“加利福尼亚”}通过将变量增加了节点名称到图形名称节点表。

例:G.Nodes.WiFi =逻辑([1 0 0 1 1]')添加变量无线上网节点表。此属性指定某些机场有无线网络覆盖。

数据类型:

对象函数

展开全部

addedge 向图形添加新边
rmedge 从图中删除边缘
addnode的 添加新的节点图
rmnode 从图中删除节点
findedge 定位在图的边
芬德诺德 定位图形节点
numedges 图中的边数
numnodes 在图中的节点数
边缘计数 边的两个节点之间的数
reordernodes 重排序图节点
子图 提取子图
bfsearch 广度优先图搜索
dfsearch公司 深度优先搜索图
中心地位 测量节点的重要性
conncomp 连通图组件
biconncomp 双连通图组件
bctree 块切割树图
maxflow 图中最大流
minspantree 图的最小生成树
体形的 确定两个图是否同构
同构 两幅图之间的同构计算
ismultigraph 确定图形是否具有多个边缘
简化 将多重图简化为简单图
最短路径 两个单节点间的最短路径
shortestpathtree 从节点的最短路径树
距离 所有节点对的最短路径距离
邻接 邻接矩阵
发生率 图关联矩阵
拉普拉斯的 图拉普拉斯矩阵
学位 图节点度
邻居 图形节点的邻居
最近的 半径内的最近邻居
外缘 从节点输出边沿
情节 散点图节点和边

例子

全部收缩

创建一个图表具有三个节点和两条边的对象。一条边在节点1和节点2之间,另一条边在节点1和节点3之间。

G=图形([1 1],[2 3])
G =图表与属性:边缘:[2×1表]节点:[3x0表]

查看图的边缘表。

G.Edges
ANS =2×1桌末端节点1 2 1 3

节点名添加到图形,然后查看该新节点和边缘表。每边的顶端节点现在使用的是他们的节点名称表示。

G.Nodes.Name = {'一个''B''C'}';G、 节点
ANS =3×1表名称_____ { 'A'} { 'B'} { 'C'}
G.Edges
ANS =2×1桌结束节点{'A'}{'B'}{'A'}{'C'}

您可以在节点边缘表来描述图中的节点或边的属性。然而,不能直接通过修改这些表改变图中的节点或边的数量。相反,使用addedge,rmedge,addnode的, 要么rmnode函数来修改在图中的节点或边的数量。

例如,在节点2和3之间的图形中添加一条边并查看新边列表。

G = addedge(G,2,3)
G=带属性的图形:边:[3x1 table]节点:[3x1 table]
G.Edges
ANS =3×1表EndNodes ______________ { 'A'} { 'B'} { 'A'} { 'C'} { 'B'} { 'C'}

创建一个对称邻接矩阵,一个中,创建的顺序4.使用一个逻辑邻接矩阵来创建没有重量的曲线图的完整图。

A =酮(4) -  DIAG([1 1 1 1])
一个=4×40 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0
G=图(A~=0)
G =图表与属性:边缘:[6X1表]节点:[4x0表]

查看图的边列表。

G.Edges
ANS =6×1表EndNodes ________ 1 2 1 3 1 4 2 3 2 4 3 4

创建一个上三角邻接矩阵。

A = triu(魔术(4))
一个=4×416 2 3 13 0 11 10 8 0 0 6 12 0 0 0 1

创建使用邻接矩阵命名为节点的图。指定'忽略自我循环'忽略对角线上的条目一个,并指定类型作为'上'以表明一个是上三角形的。

名称= {'α''测试版''伽马''三角洲'};G=图形(A,名称,'上','忽略自我循环')
G =图表与属性:边缘:[6X2表]节点:[4X1表]

查看边缘节点的信息。

G.Edges
ANS =6×2表EndNodes重量______________________ ______ { '阿尔法'} { '测试'} 2 { '阿尔法'} { 'γ'} 3 { '阿尔法'} { '增量'} 13 { '测试'} { 'γ'} 10 {”的β”} { '增量'} 8 { 'γ'} { '增量'} 12
G、 节点
ANS =4×1表名称_________ { '阿尔法'} { '测试'} { 'γ'} { '增量'}

创建并绘制使用每个边缘的端部的节点的列表的立方体图。

S = [1 1 1 2 2 3 3 4 5 5 6 7];T = [2 4 8 3 7 4 6 5 6 8 7 8];G =图表(S,T)
G =图表与属性:边缘:[12X 1表]节点:[8X0表]
图(G)

创建并绘制使用每个边缘的端部的节点的列表的立方体图。指定节点名称和边权作为单独的输入。

S = [1 1 1 2 2 3 3 4 5 5 6 7];T = [2 4 8 3 7 4 6 5 6 8 7 8];权重= [10 10 110 110 1 1 12 12 12 12];名称= {'一个''B''C''d''E''F''G''H'};G =图表(S,T,重量,名称)
G =图表与属性:边缘:[12X2表]节点:[8X1表]
情节(G,“埃德格拉贝尔”,G.Edges.Weight)

使用每条边的结束节点列表创建加权图。指定图表应包含总共10个节点。

S = [1 1 1 1 1];T = [1 2 3 4 5 6];权重= [5 5 5 6 9];G =图表(S,T,重量,10)
G=带属性的图形:边:[5x2表]节点:[10x0表]

绘制图表。额外的节点与主连接组件断开连接。

图(G)

创建一个空的图形对象,.

G =曲线图。

添加三个节点和三个边的图形。在相应的条目s公司t型定义图中边的端节点。addedge如果相应的节点不存在,则自动将其添加到图表中。

S = [1 2 1];T = [2 3 3];G = addedge(G,S,T)
G =图表与属性:边缘:[3X1表]节点:[3x0表]

查看边列表。每行描述在图中的边。

G.Edges
ANS =3×1表EndNodes ________ 1 2 1 3 2 3

为了获得最佳性能,结构图表一次全部使用单一呼叫图表.在一个循环中添加节点或边缘可以为大图慢。

创建包含变量的边缘表EndNodes,重量. 然后创建一个包含变量的节点表名称国家.每个表中的变量指定的图形的节点和边的性质。

S = [1 1 1 2 3];T = [1 2 3 4 3 4];权重= [6 6.5 7 11.5 17]';代码= {'1/44''1/49''1/33''44 / 49''49 / 33'}';EdgeTable =表([S'T'],权重,代码,...'VariableNames'{'EndNodes''重量''码'})
EdgeTable =5×3表EndNodes重码________ ______ _________ 1 2 6 { '1/44'} 1 3 6.5 { '1/49'} 1 4 7 { '1/33'} 2 3 11.5 {'44 / 49' } 3 4 17 {'49 / 33' }
名称= {'美国''GBR'“DEU”“弗拉”}';COUNTRY_CODE = {'1''44'年'49'年'33'年}';NodeTable=表(名称、国家代码,'VariableNames'{'名称''国家'})
NodeTable =4×2表名称国家_______ { 'USA'} { '1'} { 'GBR'} { '44'} { '申'} { '49'} { 'FRA'} { '33'}

使用节点和边表创建图形。使用国家代码作为节点和边标签绘制图形。

G =图表(EdgeTable,NodeTable);情节(G,'NodeLabel',G.Nodes.Country,“埃德格拉贝尔”,G.Edges.Code)

兼容性注意事项

展开全部

在R2018a中行为改变

介绍了在R2015b