文档帮助中心
具有无向边的图
图形对象表示无向图,它具有连接节点的无方向边。创建图形对象之后,可以通过使用对象函数对对象执行查询来进一步了解图形。例如,您可以添加或删除节点或边,确定两个节点之间的最短路径,或定位特定的节点或边。
图形
G =图([1 1],[2 3]);E = G.Edges G = addedge(G,2,3)G = addnode的(G,4)图(G)
图G =
图G =(一)
G =图表(A,节点名称)
G =图表(A,NodeTable)
图G = (,___、类型)
图G = (,___'omitselfloops')
G =图表(S,T)
G =图表(S,T,权重)
G =图表(S,T,重量,节点名称)
图G = (s t重量、NodeTable)
图G = (s t权重,num)
G =图表(S,T,___'omitselfloops')
G =图表(S,T,EdgeTable,___)
G =图表(EdgeTable)
G =图表(EdgeTable,NodeTable)
G =图表(EdgeTable,___'omitselfloops')
例
G=图表创建一个空的无向图的对象,G,它没有节点或边缘。
G=图表
G
G=图(一种)使用方形创建一个加权图,对称邻接矩阵,一种。在每个非零项的位置一种指定了图中的边,并且边的权重等于项的值。例如,如果A(2,1)= 10, 然后G含有重量为10节点2和节点1之间的边缘。
G=图(一种)
一种
A(2,1)= 10
G=图(一种,节点名)另外指定节点名称。元素的数量节点名必须等于大小(1)。
G=图(一种,节点名)
节点名
大小(1)
G=图(一种,NodeTable)使用表指定节点名(可能还有其他节点属性),NodeTable。表的行数必须与一种。使用表变量指定的节点名称的名字。
G=图(一种,NodeTable)
NodeTable
的名字
G=图(一种,___,类型)指定的邻接矩阵的三角在构造图使用。您必须指定一种也可以指定节点名要么NodeTable。只使用的上侧或下三角一种构造图,类型可以是'上'要么'降低'。
G=图(一种,___,类型)
类型
'上'
'降低'
G=图(一种,___'omitselfloops')忽略的对角元素一种并返回,没有任何自我循环的图表。您可以在前面的语法使用任何输入参数的组合。
G=图(一种,___'omitselfloops')
G=图(S,T)指定图中的边(S,T)在节点对。小号和Ť可以指定节点索引或节点名。
G=图(S,T)
S,T
(S,T)
小号
Ť
G=图(S,T,权重)也指定数组的边权值权重。
G=图(S,T,权重)
权重
G=图(S,T,权重,节点名)指定节点使用字符载体或字符串数组的单元阵列的名称,节点名。小号和Ť不能包含不在节点名称节点名。
G=图(S,T,权重,节点名)
G=图(S,T,权重,NodeTable)使用表指定节点名(可能还有其他节点属性),NodeTable。指定使用节点名称的名字表变量。小号和Ť不能包含不在节点名称NodeTable。
G=图(S,T,权重,NodeTable)
G=图(S,T,权重,NUM)指定用数字标量图中的节点的数目NUM。
G=图(S,T,权重,NUM)
NUM
G=图(S,T,___'omitselfloops')不添加任何自循环的图形。也就是说,任何ķ即满足s (k) = = t (k)被忽略。您可以在前面的语法使用任何输入参数的组合。
G=图(S,T,___'omitselfloops')
ķ
s (k) = = t (k)
G=图(S,T,EdgeTable,___)用来指定一个边缘表属性,而不是指定权重。该EdgeTable输入必须是一个表,其中每个对应的元素对都有一行小号和Ť。使用该表指定变量的边权重重量。
G=图(S,T,EdgeTable,___)
EdgeTable
重量
G=图(EdgeTable)使用的表EdgeTable来定义图表。有了这个语法,在第一个变量EdgeTable必须命名EndNodes,它必须是一个定义图的边缘列表的两列数组。
G=图(EdgeTable)
EndNodes
G=图(EdgeTable,NodeTable)使用表进一步指定图形节点的名称(以及可能的其它属性),NodeTable。
G=图(EdgeTable,NodeTable)
G=图(EdgeTable,___'omitselfloops')不添加自循环的图形。也就是说,任何ķ即满足EdgeTable.EndNodes(K,1)== EdgeTable.EndNodes(K,2)被忽略。您必须指定EdgeTable也可以指定NodeTable。
G=图(EdgeTable,___'omitselfloops')
EdgeTable.EndNodes(K,1)== EdgeTable.EndNodes(K,2)
展开全部
邻接矩阵,指定为一个完整的或稀疏,数字矩阵。中的条目一种指定的连接(边缘)的曲线图的节点之间的网络。在每个非零项的位置一种指定两个节点之间的边缘。该条目的值提供边缘权重。逻辑邻接矩阵导致的未加权曲线图。
主对角线上的非零元素一种指定自循环,或连接到本身具有边缘节点。使用'omitselfloops'输入选择忽略对角线项。
'omitselfloops'
一种必须是对称的,除非类型输入指定。使用issymmetric确认矩阵对称。对于三角形的邻接矩阵中,指定类型只使用上或下三角形。
issymmetric
例:A = [0 1 5;1 0 0;5 0 0]描述了具有三个节点和两个边缘的曲线图。节点1和节点2之间的边缘的重1和节点1和节点3之间的边的重五。
A = [0 1 5;1 0 0;5 0 0]
1
五
数据类型:单|双|合乎逻辑
单
双
合乎逻辑
节点名,指定为字符向量或串阵列的单元阵列。节点名长度必须等于numnodes(G)因此,它包含了图中每个节点的非空,唯一的名称。
numnodes(G)
例:图G = (A, {n1, n2, n3的})指定一个3乘3邻接矩阵3个节点名称,一种。
图G = (A, {n1, n2, n3的})
数据类型:细胞|字符串
细胞
字符串
键入邻接矩阵的,指定为'上'要么'降低'。
例:G =图表(A, '上部')仅使用的上三角一种构造图,G。
G =图表(A, '上部')
节点对指定为节点指数或节点名称。图形创建在相应的节点之间的边小号和Ť,它们必须都是数值型的,或者都是字符向量、字符向量的单元数组、字符串数组或分类数组。在所有情况下,小号和Ť必须有相同数目的元素。
如果小号和Ť是数值,则它们对应于图中的节点的索引。数字节点索引必须是正整数大于或等于1。
如果小号和Ť是字符向量,特征向量的单元阵列,或串阵列,然后它们指定的节点的名称。该节点该图的属性是一个含有一个表的名字与节点名称的变量,G.Nodes.Name。
节点
G.Nodes.Name
如果小号和Ť是范畴数组,那么范畴在小号和Ť被用作在图中的节点名称。这可以包括不在元件类别小号要么Ť。
如果小号和Ť指定相同的两个节点之间的多个边缘,则结果为一复印印刷。
这个表显示了通过一个或多个节点的数字节点索引或节点名称来引用它们的不同方法。
纯量
例:1
向量
例:[1 2 3]
[1 2 3]
特征向量
例:“一个”
“一个”
字符向量的单元阵列
例:{ 'A' 'B' 'C'}
{ 'A' 'B' 'C'}
字符串标量
例:“一种”
“一种”
String数组
例:[ “A” “B” “C”]
[ “A” “B” “C”]
分类数组
例:分类( “A”)
分类( “A”)
例:分类([ “A” “B” “C”])
分类([ “A” “B” “C”])
例:G =图([1 2 3],[2 4 5])创建具有五个节点和三个边缘的曲线图。
G =图([1 2 3],[2 4 5])
例:G =图({'波士顿'纽约“华盛顿特区。”},{“纽约”'新泽西“匹兹堡”})创建五个命名节点和三个边的图。
G =图({'波士顿'纽约“华盛顿特区。”},{“纽约”'新泽西“匹兹堡”})
[]
边权,指定为一个标量,矢量,矩阵或多维数组。权重元素数目必须与?相同的标量或数组小号和Ť。
图形存储边权作为重量变量G.Edges属性表。要添加或更改权重创建图形之后,您可以直接修改表变量,例如,G.Edges.Weight= [25 50 75]'。
G.Edges
G.Edges.Weight= [25 50 75]'
如果您指定权重作为一个空数组[],那么它将被忽略。
例:G =图([1 2],[2 3],[100 200])创建具有三个节点和两条边的图。边的权值为100和200。
G =图([1 2],[2 3],[100 200])
100
200
数据类型:单|双
图中的节点,指定为正标量整数的数目。NUM必须大于或等于最大元素小号和Ť。
例:G =图([1 2],[2 3],[],5)创建一个具有三个连接的节点和两个隔离的节点的图。
G =图([1 2],[2 3],[],5)
边缘信息表。如果您没有指定小号和Ť,则在所述第一可变EdgeTable是否需要一个两列矩阵、字符向量的单元格数组或称为字符串数组EndNodes定义图中的边。对于边缘的权重,使用该变量重量中,由于该表中的变量名称所使用的一些曲线图的功能。如果有一个变量重量,则它必须是一个数值列向量。看到表关于构建表的详细信息。
表
创建图形之后,使用以下命令查询边缘信息表G.Edges。
例:EdgeTable =表([1 2; 2 3; 3 5; 4 5], 'VariableNames',{ 'EndNodes'})
EdgeTable =表([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
例:G.Edges.Weight = [10 20 30 55]”为图形指定新的边权值。
G.Edges.Weight = [10 20 30 55]”
例:G.Edges。ñ要么mWeight = G.Edges.Weight/sum(G.Edges.Weight)增加了一个新的边缘属性来包含的边缘的权重标准化的表。
G.Edges。ñ要么mWeight = G.Edges.Weight/sum(G.Edges.Weight)
图的节点,返回一个表。默认情况下,这是一个空ñ-通过-0表,其中ñ是图中的节点的数目。
ñ
0
若要向图形添加新节点属性,请在节点表格
从图表添加或删除节点,使用addnode的要么rmnode对象的功能。
addnode的
rmnode
例:G.Nodes返回一个表格,列出了图的节点属性。该表默认为空。
例:G.Nodes.Names = { '蒙大拿', '纽约', '华盛顿' 号, '加利福尼亚'}”通过添加变量将节点名添加到图中名称到节点表格
G.Nodes.Names = { '蒙大拿', '纽约', '华盛顿' 号, '加利福尼亚'}”
名称
例:G.Nodes.WiFi =逻辑([1 0 0 1 1]')添加变量无线上网到节点表格此属性指定某些机场具有无线internet覆盖。
G.Nodes.WiFi =逻辑([1 0 0 1 1]')
无线上网
findedge
findnode
numedges
numnodes
edgecount
reordernodes
子图
bfsearch
dfsearch
中心地位
conncomp
biconncomp
bctree
maxflow
minspantree
isisomorphic
同构
ismultigraph
简化
最短的路径
shortestpathtree
距离
邻接
发生率
拉普拉斯
学位
邻居
最近的
outedges
情节
全部收缩
创建一个图形具有三个节点和两个边缘对象。一个边缘节点1和节点2之间,而另一个边缘节点1和节点3之间。
G =图([1 1],[2 3])
G =图表与属性:边缘:[2×1表]节点:[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,addnode的,或rmnode函数来修改在图中的节点或边的数量。
例如,添加的边缘到节点2和3之间的图形和查看新的边缘列表。
G = addedge(G,2,3)
G =图表与属性:边缘:[3X1表]节点:[3X1表]
ANS =3×1表EndNodes ______________ { 'A'} { 'B'} { 'A'} { 'C'} { 'B'} { 'C'}
创建一个对称邻接矩阵,一种中,创建的顺序4.使用一个逻辑邻接矩阵来创建没有重量的曲线图的完整图。
A =酮(4) - DIAG([1 1 1 1])
A =4×40 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0
G =曲线图(A〜= 0)
属性图:边:[6x1表]节点:[4x0表]
查看图形的边缘列表。
ANS =6×1表结:1 2 1 3 1 4 2 3 2 2 4 3 3 4
创建一个上三角邻接矩阵。
A = triu(魔术(4))
A =4×416 2 3 13 0 11 10 8 0 6 12 0 0 0 1
使用邻接矩阵创建具有命名节点的图。指定'omitselfloops'要忽略的对角线元素一种,并指定类型如'上'以表明一种是上三角。
名称= {'α'“测试版”“伽马”'三角洲'};G =曲线图(A,名称,'上','omitselfloops')
G =图表与属性:边缘:[6X2表]节点:[4X1表]
查看边缘和节点信息。
ANS =6×2表EndNodes重量______________________ ______ { '阿尔法'} { '测试'} 2 { '阿尔法'} { 'γ'} 3 { '阿尔法'} { '增量'} 13 { '测试'} { 'γ'} 10 {”的β”} { '增量'} 8 { 'γ'} { '增量'} 12
ANS =4×1表名字_____{“α”}{“beta”}{“伽马”}{“δ”}
创建并绘制使用每个边缘的端部的节点的列表的立方体图。
s = [1 1 1 2 2 3 3 3 4 5 5 6 7];t = [2 4 8 3 7 4 6 5 6 8 7 8];G =图表(S,T)
属性图:边:[12x1表]节点:[8x0表]
图(G)
创建并绘制使用每个边缘的端部的节点的列表的立方体图。指定节点名称和边权作为单独的输入。
s = [1 1 1 2 2 3 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 12];名称= {“一个”“B”“C”' D '“E”'F''G''H'};图G = (s t重量、名称)
G =带属性的图:边:[12x2表]节点:[8x1表]
情节(G,'EdgeLabel',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 =图表与属性:边缘:[5×2表]节点:[10x0表]
绘制图表。额外的节点被从主连接的组件断开。
创建一个空的图形对象,G。
G =曲线图。
添加三个节点和三个边的图形。在相应的条目小号和Ť定义图中边的端节点。addedge自动将适当的节点图,如果它们不存在。
S = [1 2 1];T = [2 3 3];G = addedge(G,S,T)
G =图表与属性:边缘:[3X1表]节点:[3x0表]
查看边缘列表。每一行都描述了图中的一条边。
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”“申”'FRA'}';COUNTRY_CODE = {'1''44''49''33'}';NodeTable =表(姓名,COUNTRY_CODE,“VariableNames”{'名称''国家'})
NodeTable =4×2表名称国家_______ { 'USA'} { '1'} { 'GBR'} { '44'} { '申'} { '49'} { 'FRA'} { '33'}
创建使用节点和边缘表的曲线图。使用国家代码为节点和边缘的标签绘制曲线图。
G =图表(EdgeTable,NodeTable);情节(G,'NodeLabel',G.Nodes.Country,'EdgeLabel',G.Edges.Code)
行为R2018a改变
图形,有向图和addedge当他们遇到重复的边缘不再产生错误。取而代之的是,重复的边缘被添加到图形,结果是多重图。该ismultigraph功能非常有用检测到这种情况,简化提供了一种简单的方法来删除多余的边缘。
有向图
有向图|子图
Existe UNA版本修订于德埃斯特ejemplo EN苏SISTEMA。¿Prefiere abrir ESTA版本?
您单击对应于该MATLAB命令的链接:
通过在MATLAB命令窗口中输入该命令来运行它。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站来获取可用的翻译内容,并查看本地事件和报价。根据你的位置,我们建议你选择:。
您还可以选择从下面的列表中的网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。
请联系您当地的办事处