Main Content

outedges

节点的出向边

说明

eid = outedges(G,nodeID) 返回图 G 中节点 nodeID 的所有出向边的索引。

示例

[eid,nid] = outedges(G,nodeID) 还返回通过边 eid 连接到 nodeID 的后继节点 nid

示例

示例

全部折叠

创建一个具有三个节点和四条边的无向多重图。找出节点 2 的出向边。

G = graph([1 1 1 2],[2 2 3 3]);
G.Edges
ans=4×1 table
    EndNodes
    ________

     1    2 
     1    2 
     1    3 
     2    3 

eid = outedges(G,2)
eid = 3×1

     1
     2
     4

向量 eid 包含 G.Edges 表中各行的索引。使用该向量对 G.Edges 进行索引。

G.Edges(eid,:)
ans=3×1 table
    EndNodes
    ________

     1    2 
     1    2 
     2    3 

对于无向图,边 (1,2) 和 (2,1) 相同。

绘制一个图并突出显示选定节点的出向边和后继节点。

使用 bucky 邻接矩阵创建并绘制有向图。突出显示节点 10 作为参考。

G = digraph(bucky);
p = plot(G);
highlight(p,10,'NodeColor','r','MarkerSize',10)

Figure contains an axes object. The axes object contains an object of type graphplot.

确定节点 10 的出向边和后继节点。突出显示这些节点和边。

[eid,nid] = outedges(G,10)
eid = 3×1

    28
    29
    30

nid = 3×1

     6
     9
    12

X = G.Edges(eid,:)
X=3×2 table
    EndNodes    Weight
    ________    ______

    10     6      1   
    10     9      1   
    10    12      1   

highlight(p,nid,'NodeColor','g','MarkerSize',9)
highlight(p,'Edges',eid,'EdgeColor','g')

Figure contains an axes object. The axes object contains an object of type graphplot.

输入参数

全部折叠

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

示例: G = graph(1,2)

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

节点标识符,指定为下表中的值之一。

示例
标量节点索引1
字符向量节点名称'A'
字符串标量节点名称"A"

示例: outedges(G,1)

示例: outedges(G,'A')

输出参量

全部折叠

边索引,以列向量形式返回。您可以通过 G.Edges(eid,:) 使用边索引对图形的边表进行索引。

后继节点的节点 ID,如果 nodeID 是数值则以节点索引形式返回;如果 nodeID 是节点名称则以节点名称形式返回。使用 findnode(G,nid) 将节点名称转换为节点索引。您可以通过 G.Nodes(nid,:) 使用节点索引对图形的节点表进行索引。

nid 中的节点 ID 与 successors 函数返回的节点 ID 相同。但是,如果同一个节点有多条出向边,则此节点会在 nid 中出现多次。

提示

  • 按照约定,对于无向图,连接节点的所有边都被视为出向边。使用 inedges 查找有向图中的入向边。

  • 对于具有多条边的图来说,outedgessuccessors 可能返回不同长度的数组,因为某些后继节点可能有多条出向边。

扩展功能

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

版本历史记录

在 R2018a 中推出

另请参阅

| | |