Main Content

addnode

将新节点添加到图

说明

H = addnode(G,nodeIDs)nodeIDs 指定的节点添加到图 GnodeIDs 中的节点名称不能是 G 中已存在的节点。

示例

H = addnode(G,numNodes) 将一定数目的新节点添加到 G,节点数量等于 numNodes。如果 G 包含具有名称的节点,则会为新节点分配序列名,用于指示它们在 G.Nodes.Name 中的行位置。例如,'Node5' 所在的位置是 G.Nodes.Name(5)

示例

H = addnode(G,NodeProps) 使用 NodeProps 中的节点属性将新节点添加到 G。为 NodeProps 中的每一行对应添加一个节点。NodeProps 表必须能够与 G.Nodes 串联,这样结果就是 H.Nodes = [G.Nodes; NodeProps]

示例

示例

全部折叠

将两个节点添加到不包含节点名称的图中。

G = graph([1 2 3],[2 3 4])
G = 
  graph with properties:

    Edges: [3x1 table]
    Nodes: [4x0 table]

G = addnode(G,2)
G = 
  graph with properties:

    Edges: [3x1 table]
    Nodes: [6x0 table]

将节点名称添加到该图,然后添加五个其他新节点。新节点的自动生成的名称指示其在 G.Nodes.Name 中的位置。

G.Nodes.Name = {'A' 'B' 'C' 'D' 'E' 'F'}'
G = 
  graph with properties:

    Edges: [3x1 table]
    Nodes: [6x1 table]

G = addnode(G,5);
G.Nodes
ans=11×1 table
       Name   
    __________

    {'A'     }
    {'B'     }
    {'C'     }
    {'D'     }
    {'E'     }
    {'F'     }
    {'Node7' }
    {'Node8' }
    {'Node9' }
    {'Node10'}
    {'Node11'}

创建一个具有命名节点的有向图,然后将两个命名节点添加到图。

G = digraph({'A' 'B' 'C'},{'D' 'C' 'D'})
G = 
  digraph with properties:

    Edges: [3x1 table]
    Nodes: [4x1 table]

G = addnode(G,{'E' 'F'})
G = 
  digraph with properties:

    Edges: [3x1 table]
    Nodes: [6x1 table]

如果图还没有节点名称,则将命名节点添加到图会自动为其他节点生成名称。

创建不具有节点名称的有向图,然后将两个命名节点添加到图。

H = digraph([1 2 3],[4 3 4])
H = 
  digraph with properties:

    Edges: [3x1 table]
    Nodes: [4x0 table]

H = addnode(H,{'E','F'});
H.Nodes
ans=6×1 table
      Name   
    _________

    {'Node1'}
    {'Node2'}
    {'Node3'}
    {'Node4'}
    {'E'    }
    {'F'    }

创建一个图,其节点表示机场。

G = graph({'JFK' 'LAX'}, {'LAX' 'DEN'})
G = 
  graph with properties:

    Edges: [2x1 table]
    Nodes: [3x1 table]

添加一个节点属性以指示每个机场是否有免费 Wi-Fi®。

G.Nodes.WIFI = [false true true]';
G.Nodes
ans=3×2 table
     Name      WIFI 
    _______    _____

    {'JFK'}    false
    {'LAX'}    true 
    {'DEN'}    true 

通过创建表 NodeProps(其中包含每个新节点的节点名称和 Wi-Fi 状态),将两个新节点添加到图中。使用 addnodeNodeProps 串联到 G.Nodes

NodeProps = table({'ATL' 'ANC'}', [false true]', ...
    'VariableNames', {'Name' 'WIFI'});
G = addnode(G, NodeProps);

查看修改后的节点表。

G.Nodes
ans=5×2 table
     Name      WIFI 
    _______    _____

    {'JFK'}    false
    {'LAX'}    true 
    {'DEN'}    true 
    {'ATL'}    false
    {'ANC'}    true 

输入参数

全部折叠

输入图,指定为 graphdigraph 对象。可使用 graph 创建一个无向图,或使用 digraph 创建一个有向图。

示例: G = graph(1,2)

示例: G = digraph([1 2],[2 3])

节点名称,指定为下列形式之一的一个或多个节点名称:

  • 单个节点 - 字符向量 'A' 或字符串标量 "A"

  • 多个节点 - 字符向量元胞数组 {'A' 'B' 'C'} 或字符串数组 ["A" "B" "C"]

示例: H = addnode(G,'A')

示例: H = addnode(G,["A" "B" "C"])

数据类型: char | cell | string

要添加的节点的数量,指定为非负数值标量。

节点属性,指定为表。NodeProps 可以包含任意数量的变量以描述图节点的属性,但必须能够串联到 G.Nodes,从而使结果为 H.Nodes = [G.Nodes; NodeProps]。对于节点名称,请使用变量 Name,因为某些图函数使用此表变量名称。如果存在变量 Name,则它必须是用于在每行中指定唯一名称的字符向量元胞数组或字符串数组。请参阅 table,了解有关构建表的详细信息。

数据类型: table

输出参量

全部折叠

输出图,以 graphdigraph 对象形式返回。

扩展功能

基于线程的环境
使用 MATLAB® backgroundPool 在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool 加快代码运行速度。

版本历史记录

在 R2015b 中推出