2026a

# flipedge


反转边的方向

函数库: TyMath

# 语法

H = flipedge(G)
H = flipedge(G,s,t)
H = flipedge(G,idx)
flipedge!(G, __)

# 说明

H = flipedge(G) 返回一个与 G 具有相同边但方向相反的有向图。H 包含与 G 相同的节点和边属性。示例


H = flipedge(G, s,t) 使用节点对组 s 和 t 反转部分边。示例


H = flipedge(G, idx) 使用边索引 idx 反转部分边。


flipedge!(G,__) 直接在图 G 中原地反转对应边,您可以使用上述语法的任意输入。

# 示例

反转图中的所有边

创建一个有向图。然后反转图中所有边的方向。

using TyMath
G = DiGraph([1, 1, 1, 1], [2, 3, 4, 5]);
flipedge!(G);
反转图的部分边

创建并绘制一个有向图。为绘图指定自定义 xy 节点坐标。

using TyMath
G = DiGraph([1, 1, 2, 2, 3], [2, 3, 3, 4, 5]);
x = [1, 0, 2, -1, 3];
y = [1, 2, 2, 2.5, 2.5];
plot(G, x, y)

反转边 (2,4) 和 (3,5) 的方向,然后重新绘制图形。

G = DiGraph([1, 1, 2, 2, 3], [2, 3, 3, 4, 5]);
x = [1, 0, 2, -1, 3];
y = [1, 2, 2, 2.5, 2.5];
flipedge!(G,[2, 3],[4, 5])
plot(G, x, y)

# 输入参数

G - 输入图
DiGraph 对象

输入图,指定为 DiGraph 对象。可使用 DiGraph 创建一个有向图。

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

s,t - 节点对组(以单独参数指定)
节点索引 | 节点名称

节点对组,指定为单独的节点索引或节点名称参数。s 和 t 中位置类似的元素指定图中边的源和目标节点。

下表显示通过数值节点索引或节点名称引用一个或多个节点的不同方法。

形式 单一节点 多个节点
节点索引 标量
示例:1
向量
示例:[1,2,3]
节点名称 字符串标量
示例:"A"
字符串数组
示例:["A","B","C"]

示例: H = flipedge(G,[1,4],[2,3]) 反转边 (1,2) 和 (4,3) 的方向。

示例: flipedge!(G,["a","d"],["b","c"]) 反转边 (a,b) 和 (d,c) 的方向。

idx - 边索引
标量 | 向量

边索引,指定为标量或向量。边索引是 G.Edges.endnodes 中行号的非负整数。

示例: H = flipedge(G,3) 反转边 G.Edges中第 3 条边的方向。

# 输出参数

H - 输出图
Graph 对象 | DiGraph 对象

输出图,以 DiGraph 对象形式返回。与 G 相比,H 具有相同的节点,但部分或所有边具有相反的方向。H 也具有与 G 相同的节点和边属性。

# 另请参阅

DiGraph | addedge | rmedge | findedge