这个例子展示了如何访问和修改节点和/或边图
或者有向图
对象使用addedge
,rmedge
,addnode
,rmnode
,findedge
,findnode
,子图
功能。
创建一个有四个节点和四条边的图。中对应的元素年代
和t
指定每个图形边的结束节点。
S = [1 1 1 2];T = [2 3 4 3];图G = (s, t)
G = graph with properties: Edges: [4x1 table] Nodes: [4x0 table]
查看图形的边缘列表。
G.Edges
ans =4×1表EndNodes ________ 1 2 1 3 1 4 2 3
使用addnode
向图中添加5个节点。该命令将添加5个断开连接的节点,并使用节点id5
,6
,7
,8
,9
.
g = addnode(g,5)
G = graph with properties: Edges: [4x1 table] Nodes: [9x0 table]
使用rmnode
从图中删除节点3,5和6。连接到删除的节点之一的所有边缘也被删除。图中剩余的六个节点重新编号为反映新的节点数量。
G = rmnode(G,[3 5 6])
G = graph with properties: Edges: [2x1 table] Nodes: [6x0 table]
使用addedge
给…加上两条边G
.第一条边在节点1和节点5之间,第二条边在节点2和节点5之间。该命令将添加两个新行G.Edges
.
G = adddge (G,[1 2],[5 5])
G = graph with properties: Edges: [4x1 table] Nodes: [6x0 table]
使用rmedge
删除节点1和节点3之间的边。该命令从G.Edges
.
G = rmedge (G, 1, 3)
g =带有属性的图形:边缘:[3x1表]节点:[6x0表]
确定节点1和节点5之间的边的边缘索引。边缘指数,ei
,是一个行号G.Edges
.
ei = spindeded(g,1,5)
ei = 2
将节点名称添加到图中,然后确定节点的节点索引' d '
.数字节点索引,倪
,是一个行号G.Nodes
.两者都可以用倪
节点名,' d '
,以在使用其他图函数时引用该节点,如shortestpath
.
G.Nodes.Name = {“一个”“b”“c”' d '“e”“f”} ';倪= findnode (G,' d ')
倪= 4
使用子图
要提取仅包含两个节点的图表。
H =子图(G,[1 2])
H =具有属性的图:Edges: [1x1 table] Nodes: [2x1 table]
查看子图的边缘列表。
H.Edges
ans =表格EndNodes ______________ {'a'} {'b'}
图对象的节点和边缘信息包含在两个属性中:节点
和边缘
.这两个属性都是包含描述图中节点和边属性的变量的表。自节点
和边缘
都是表,可以使用Variables编辑器以交互方式查看或编辑表。不能使用Variables编辑器添加或删除节点或边,也不能编辑EndNodes
财产的边缘
表格的变量编辑器对于管理额外的节点和边缘属性非常有用节点
和边缘
表。有关更多信息,请参见创建和编辑变量.
addedge
|addnode
|有向图
|findedge
|findnode
|图
|rmedge
|rmnode
|子图