Main Content

inedges

进入节点的入向边

说明

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

示例

[eid,nid] = inedges(G,nodeID) 还返回通过 eid 中的边连接到 nodeID 的前趋节点的节点 ID。

示例

示例

全部折叠

创建一个具有三个节点和四条边的多重图。找到节点 3 的入向边。

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

     1    2 
     1    2 
     1    3 
     2    3 

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

     3
     4

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

     1    3 
     2    3 

绘制一个图并突出显示选定节点的入向边和前趋节点。

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

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

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

确定节点 1 的入向边和前趋节点。突出显示这些节点和边。

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

     4
    13
    16

nid = 3×1

     2
     5
     6

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

     2    1       1   
     5    1       1   
     6    1       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.

输入参数

全部折叠

输入图,指定为 digraph 对象。使用 digraph 创建有向图对象。

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

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

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

示例: inedges(G,1)

示例: inedges(G,'A')

输出参量

全部折叠

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

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

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

提示

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

  • 对于具有多条边的图形,inedgespredecessors 可能返回不同长度的数组,因为来自某些前趋节点的入向边可能有多条。

扩展功能

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

版本历史记录

在 R2018a 中推出

另请参阅

| |