文档帮助中心
无向边图
图对象表示无向图,这些图具有连接节点的无向边。创建图形对象后,可以通过使用对象函数对对象执行查询来了解有关图形的更多信息。例如,您可以添加或删除节点或边,确定两个节点之间的最短路径,或定位特定的节点或边。
图
图([1 1],[2 3]);e = add (G,2,3) G = add (G,4) plot(G)
图G =
图G =(一)
图G =(一个节点名)
图G = (NodeTable)
图G = (,___、类型)
图G = (,___,“省略自循环”
图G = (s, t)
图G = (s t权重)
G=图(s、t、权重、节点名称)
图G = (s t重量、NodeTable)
图G = (s t权重,num)
图G = (s, t)___,“省略自循环”
图G = (s t EdgeTable,___)
图G = (EdgeTable)
G=图形(边表、节点表)
图G = (EdgeTable,___,“省略自循环”
例子
G=图创建一个空的无向图形对象,G,它没有节点或边。
G=图
G
G=图(一个)使用正方形对称邻接矩阵创建一个加权图,一个.中的每个非零项的位置一个为图指定一条边,边的权重等于条目的值。例如,如果(2, 1) = 10,然后G包含节点2和节点1之间的边,权值为10。
G=图(一个)
一个
(2, 1) = 10
G=图(一个,节点名称)另外指定节点名称。中的元素数节点名称必须等于大小(1).
G=图(一个,节点名称)
节点名称
大小(1)
G=图(一个,NodeTable)使用表指定节点名称(可能还有其他节点属性),NodeTable.表的行数必须与一个. 使用table变量指定节点名称的名字.
G=图(一个,NodeTable)
NodeTable
的名字
G=图(一个,___,类型)指定在构造图时使用的邻接矩阵的三角形。您必须指定一个并且可以选择指定节点名称或NodeTable.的上三角形或下三角形一个要构建图形,类型可以是“上”或“更低”.
G=图(一个,___,类型)
类型
“上”
“更低”
G=图(一个,___,“省略自循环”的对角元素一个并返回一个没有任何自循环的图。您可以在以前的语法中使用任何输入参数组合。
G=图(一个,___,“省略自循环”
G=图(s、 t)指定图像边缘(s, t)在节点对。年代和t可以指定节点索引或节点名称。
G=图(s、 t)
s、 t
(s, t)
年代
t
G=图(s、 t,砝码)还使用数组指定边的权重砝码.
G=图(s、 t,砝码)
砝码
G=图(s、 t,砝码,节点名称)使用字符向量的单元格数组或字符串数组指定节点名称,节点名称.年代和t不能包含不在列表中的节点名节点名称.
G=图(s、 t,砝码,节点名称)
G=图(s、 t,砝码,NodeTable)使用表指定节点名称(可能还有其他节点属性),NodeTable.属性指定节点名称的名字表变量。年代和t不能包含不在列表中的节点名NodeTable.
G=图(s、 t,砝码,NodeTable)
G=图(s、 t,砝码,全国矿工工会)指定具有数值标量的图形中的节点数全国矿工工会.
G=图(s、 t,砝码,全国矿工工会)
全国矿工工会
G=图(s、 t,___,“省略自循环”不添加任何自循环到图形。也就是说,任何k满足s (k) = = t (k)被忽略了。您可以在以前的语法中使用任何输入参数组合。
G=图(s、 t,___,“省略自循环”
k
s (k) = = t (k)
G=图(s、 t,EdgeTable,___)使用表指定边缘属性而不是指定砝码.的EdgeTable输入必须是一个表,其中每个对应的元素对对应一行年代和t.使用表变量指定边的权重重量.
G=图(s、 t,EdgeTable,___)
EdgeTable
重量
G=图(EdgeTable)使用的表EdgeTable来定义图表。在这个语法中,第一个变量EdgeTable必须指定EndNodes,它必须是一个定义图的边列表的两列数组。
G=图(EdgeTable)
EndNodes
G=图(EdgeTable,NodeTable)另外,使用表指定图形节点的名称(可能还有其他属性),NodeTable.
G=图(EdgeTable,NodeTable)
G=图(EdgeTable,___,“省略自循环”不添加自循环到图形。也就是说,任何k满足EdgeTable.EndNodes(k,1)==EdgeTable.EndNodes(k,2)将被忽略。您必须指定EdgeTable并且可以选择指定NodeTable.
G=图(EdgeTable,___,“省略自循环”
EdgeTable.EndNodes(k,1)==EdgeTable.EndNodes(k,2)
全部展开
邻接矩阵,指定为一个完整或稀疏的数字矩阵。的条目一个指定图的节点之间的连接网络(边)。中的每个非零项的位置一个指定两个节点之间的边。该条目的值提供了边权重。逻辑邻接矩阵产生未加权图。
的主对角线上的非零元素一个具体说明self-loops,或通过边与自身相连的节点。使用“omitselfloops”忽略对角线项的输入选项。
“omitselfloops”
一个必须是对称的,除非类型输入指定。使用不对称确认矩阵对称。对于三角形邻接矩阵,指定类型仅使用上三角形或下三角形。
不对称
例子:A = [0 1 5];1 0 0;5 0 0)描述一个有三个节点和两条边的图。节点1和节点2之间的边的权值为1,节点1与节点3之间的边的权值为5.
A = [0 1 5];1 0 0;5 0 0)
1
5
数据类型:单|双|逻辑
单
双
逻辑
节点名称,指定为字符向量的单元格数组或字符串数组。节点名称长度必须等于numnodes (G)以便为图中的每个节点包含一个非空的、唯一的名称。
numnodes (G)
例子:图G = (A, {n1, n2, n3的})为3 × 3邻接矩阵指定三个节点名,一个.
图G = (A, {n1, n2, n3的})
数据类型:细胞|字符串
细胞
字符串
邻接矩阵的类型,指定为“上”或“更低”.
例子:图G = (A,“上”)仅使用的上三角形一个要构建图形,G.
图G = (A,“上”)
节点对,指定为节点索引或节点名称。图在中的相应节点之间创建边年代和t,它必须都是数字,或都是字符向量、字符向量的单元格数组、字符串数组或类别数组。在所有情况下,年代和t必须有相同数目的元素。
如果年代和t是数值的,则它们对应于图节点的索引。数值节点索引必须是大于或等于1的正整数。
如果年代和t是字符向量、字符向量的单元格数组或字符串数组,然后它们指定节点的名称。这个节点图的属性是包含的名字变量带有节点名,G.Nodes.Name.
节点
G.Nodes.Name
如果年代和t是类别数组,那么类别在哪里年代和t用作图形中的节点名称。这可以包括不是中元素的类别年代或t.
如果年代和t指定两个节点之间的多条边,则结果为a多重图形.
该表显示了通过数字节点索引或节点名引用一个或多个节点的不同方法。
标量
例子:1
向量
例子:(1 2 3)
(1 2 3)
特征向量
例子:“一个”
“一个”
字符向量单元数组
例子:{'A''B''C'}
{'A''B''C'}
字符串标量
字符串数组
例子:(“A”“B”“C”)
(“A”“B”“C”)
分类数组
例子:分类(“”)
分类(“”)
例子:分类([“A”“B”“C”))
分类([“A”“B”“C”))
例子:G =图([1 2 3],[2 4 5])创建一个有五个节点和三条边的图。
G =图([1 2 3],[2 4 5])
例子:G=图({'Boston''纽约''华盛顿特区'},{'NewYork''新泽西''匹兹堡'})创建具有5个命名节点和3条边的图。
G=图({'Boston''纽约''华盛顿特区'},{'NewYork''新泽西''匹兹堡'})
[]
边权重,指定为标量、向量、矩阵或多维数组。砝码必须是标量或具有相同数量元素的数组年代和t.
图将边的权值存储为重量变量G.Edges属性表。要在创建图形之后添加或更改权重,可以直接修改表变量,例如:[25 50 75]'.
G.Edges
[25 50 75]'
如果您指定砝码作为一个空数组[],则被忽略。
例子:G = graph([1 2],[2 3],[100 200])创建一个有三个节点和两条边的图。这些边的权值是100和200.
G = graph([1 2],[2 3],[100 200])
100
200
数据类型:单|双
图节点的数目,指定为正标量整数。全国矿工工会必须大于或等于年代和t.
例子:G = graph([1 2],[2 3],[],5)创建包含三个连接节点和两个孤立节点的图形。
G = graph([1 2],[2 3],[],5)
边缘信息表。如果没有指定年代和t,然后是第一个变量EdgeTable是否需要是一个两列矩阵,字符向量的单元格数组,或字符串数组的名称EndNodes这定义了图形的边。对于边的权值,使用变量重量,因为某些图形函数使用此表变量名。如果有一个变量重量,则它必须是一个数值列向量。看到桌子有关构造表的更多信息。
桌子
创建图形后,使用G.Edges.
例子:EdgeTable = table([1 2;2 3;3 5;4 5], VariableNames, {' EndNodes '})
EdgeTable = table([1 2;2 3;3 5;4 5], VariableNames, {' EndNodes '})
数据类型:桌子
节点信息表。NodeTable可以包含任意数量的变量来描述图形节点的属性。对于节点名称,请使用变量的名字,因为这个变量名被一些图形函数使用。如果有一个变量的名字,则它必须是字符向量的单元格数组或在每行中指定唯一名称的字符串数组。看到桌子有关构造表的更多信息。
创建完图后,使用G.Nodes.
G.Nodes
例子:NodeTable =表({' a ';“b”;“c”;' d '}, VariableNames,{'名字'})
NodeTable =表({' a ';“b”;“c”;' d '}, VariableNames,{'名字'})
无向图,返回为图对象
边缘
图的边,作为表返回。默认情况下,这是一个米——- - - - - -1表,米是图形中的边数。
米
要向图形中添加新的边特性,请在边缘表格
要从图形中添加或删除边,请使用addedge或rmedge对象函数。
addedge
rmedge
例子:G.Edges返回一个表,列出图形中的边
例子:G.Edges.Weight返回边权值的数值向量。
G.Edges.Weight
例子:[10 20 30 55]'为图指定新的边权值。
[10 20 30 55]'
例子:G.Edges.NormWeight = G.Edges.Weight /笔(G.Edges.Weight)将新的边特性添加到包含边的规格化权重的表中。
G.Edges.NormWeight = G.Edges.Weight /笔(G.Edges.Weight)
图的节点,作为表返回。默认情况下,这是空的N——- - - - - -0表,N为图中的节点数。
N
0
要向图中添加新的节点属性,请在节点表格
要从图形中添加或删除节点,请使用添加节点或rmnode对象函数。
添加节点
rmnode
例子:G.Nodes返回一个列出图的节点属性的表。默认情况下,该表为空。
例子:G.Nodes.Names ={'蒙大拿','纽约','华盛顿','加州'}'通过添加变量将节点名添加到图中的名字到节点表格
G.Nodes.Names ={'蒙大拿','纽约','华盛顿','加州'}'
例子:G.Nodes.WiFi = logical([1 0 0 1 1])添加变量无线网络到节点表格此属性指定某些机场具有无线互联网覆盖。
G.Nodes.WiFi = logical([1 0 0 1 1])
无线网络
芬德奇
findnode
努梅德斯
numnodes
edgecount
reordernodes
子图
bfsearch
dfsearch
中心性
康康普
biconncomp
bctree
maxflow
明斯潘特里酒店
isisomorphic
同构
地震乘数
简化
shortestpath
最短路径树
距离
邻接
发病率
拉普拉斯算子
学位
邻居
最近的
outedges
情节
全部崩溃
创建一个图具有三个节点和两条边的对象。一条边在节点1和节点2之间,另一条边在节点1和节点3之间。
G =图([1 1],[2 3])
G=具有以下属性的图形:边:[2x1表]节点:[3x0表]
查看图形的边表。
ans =2×1表EndNodes ________ 1 2 1 3
将节点名称添加到图中,然后查看新的节点表和边表。每个边的结束节点现在使用它们的节点名来表示。
G.Nodes.Name={“一个”“B”“C”} ';G.Nodes
ans =3×1表名称_____ {'A'} {'B'} {'C'}
ans =2×1表EndNodes ______________ {'A'} {'B'} {'A'} {'C'}
中可以添加或修改额外的变量节点和边缘表来描述图节点或边的属性。但是,不能通过修改这些表直接更改图中的节点或边的数量。相反,使用addedge,rmedge,添加节点,或rmnode用于修改图形中节点或边的数量的函数。
例如,在节点2和节点3之间的图中添加一条边,然后查看新的边列表。
G = addedge (G, 2、3)
G =具有属性的图:Edges: [3x1 table] Nodes: [3x1 table]
ans =3×1表EndNodes ______________ {' 一个“}{B} {A} {' C '} {B} {' C '}
建立一个对称邻接矩阵,一个,这将创建一个顺序为4的完整图。使用逻辑邻接矩阵创建一个没有权重的图。
A=一(4)-诊断([1])
一个=4×40 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0
图G = (~ = 0)
G = graph with properties: Edges: [6x1 table] Nodes: [4x0 table]
查看图形的边缘列表。
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
使用邻接矩阵创建一个带有指定节点的图。指定“omitselfloops”的对角线上的项一个,并指定类型作为“上”表明一个是上三角。
名称= {“α”“β”“伽马”“三角洲”};图G =(名称,“上”,“omitselfloops”)
G=具有以下属性的图形:边:[6x2表]节点:[4x1表]
查看边缘和节点信息。
ans =6×2表EndNodes重量 ______________________ ______ {' α’}{“beta”}2{“α”}{“伽马”}3{“α”}{“δ”}13{“beta”}{“伽马”}10{“beta”}{“δ”}8{“伽马”}{“δ”}12
ans =4×1表的名字 _________ {' α’}{“beta”}{“伽马”}{“δ”}
使用每个边的结束节点列表创建并绘制一个立方体图。
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 =具有属性的图形:Edges: [12x1 table] Nodes: [8x0 table]
地块(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 1 10 1 10 1 1 12 12 12 12];名称= {“一个”“B”“C”' D '“E”“F”‘G’“H”};图G = (s t重量、名称)
G=带属性的图形:边:[12x2表格]节点:[8x1表格]
图(G,“EdgeLabel”,G.边缘重量)
使用每个边的结束节点列表创建一个加权图。指定图形应该总共包含10个节点。
S = [1 1 1 1];T = [2 3 4 5 6];权重= [5 5 5 6 9];图G = (s t重量、10)
G =具有属性的图:Edges: [5x2 table] Nodes: [10x0 table]
画出图。多余的节点与主连接组件断开连接。
创建一个空的图形对象,G.
G=图形;
向图中添加三个节点和三条边。中相应的条目年代和t定义图形边的结束节点。addedge如果适当的节点还没有出现,则自动将它们添加到图中。
s=[1 2 1];t=[23];G=加差(G,s,t)
G = graph with properties: Edges: [3x1 table] Nodes: [3x0 table]
查看边缘列表。每一行描述图中的一条边。
ans =3×1表结束节点uuuuuuuuuuuuuuuuu2 3
为了获得最佳性能,可以使用单个调用一次性构造图图.对于大型图,在循环中添加节点或边可能会很慢。
创建包含变量的边表EndNodes,重量,及代码.然后创建一个包含变量的节点表的名字和国家. 每个表中的变量指定图形节点和边的属性。
代码
国家
s=[1 2 3];t=[2 3 4];权重=[6.5 7 11.5 17];代码={“1/44”“1/49”“1/33”“44/49”'49/33'} ';EdgeTable = table([s' t'],weight,code,...“VariableNames”,{“EndNodes”“重量”“代码”})
EdgeTable =5×3表端点权重码{'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”“德吴”联邦铁路局的}'; 国家/地区代码={' 1 '“44”“49”“33”} ';NodeTable =表(名称、country_code“VariableNames”,{“名字”“国家”})
无可辩驳=4×2表命名国家{'1'}{'GBR'}{'44'}{'DEU'}{'49'}{'FRA'}{'33'}
使用节点和边表创建一个图。使用国家代码作为节点和边缘标签绘制图。
G=图形(边表、节点表);图(G,“NodeLabel”G.Nodes.Country,“EdgeLabel”G.Edges.Code)
R2018a中行为改变
图,有向图,及addedge当它们遇到重复的边时不再产生错误。相反,重复的边被添加到图中,结果是一个多重图。的地震乘数函数用于检测这种情况,并且简化提供了一个简单的方法来删除额外的边。
有向图
有向图|子图
在您的系统中存在这个示例的修改版本。你想打开这个版本吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系