1. 构造有向图

使用以下代码创建带有节点和边的有向图:

cm = sparse([1 1 2 2 3 3 4 5],[2 3 4 5 6 6],[2 3 3 1 1 1 2 3],6,6);

此图包含8个节点6条边

2. 计算最大流

使用以下命令计算从第1个到第6个节点的最大流:

[M,F,K] = graphmaxflow(cm,1,6);

3. 显示原始图结构

可视化原始有向图:

h0 = view(biograph(cm,[], 'ShowWeights', 'on'));

4. 显示最大流矩阵图结构

可视化计算得到的最大流矩阵:

h1 = view(biograph(F,[], 'ShowWeights', 'on'));

5. 标注求解结果

在原始图结构中标注求解结果:

set(h0.Nodes(K(1,:)), 'Color', [1 0 0]);

6. 图的遍历函数

使用以下命令格式遍历图:

[disc, pred, closed] = graphtraverse(G, S);

例如,创建一个有向图的示例:

DG = sparse([1 2 3 4 5 5 5 6 7 8 8 9], [2 4 1 5 3 6 7 9 8 1 10 2], true, 10);