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);