所有节点对组的最短路径距离 | 您所在的位置:网站首页 › matlab曲面函数最短路径 › 所有节点对组的最短路径距离 |
打开实时脚本 创建并绘制一个具有加权边的有向图。 s = [1 1 1 2 5 3 6 4 7 8 8 8]; t = [2 3 4 5 3 6 4 7 2 6 7 5]; weights = [100 10 10 10 10 20 10 30 50 10 70 10]; G = digraph(s,t,weights); plot(G,'EdgeLabel',G.Edges.Weight)求图节点的所有对组之间的最短路径距离。 d = distances(G)d = 8×8 0 90 10 10 100 30 40 Inf Inf 0 20 50 10 40 80 Inf Inf 110 0 30 120 20 60 Inf Inf 80 100 0 90 120 30 Inf Inf 120 10 40 0 30 70 Inf Inf 90 110 10 100 0 40 Inf Inf 50 70 100 60 90 0 Inf Inf 100 20 20 10 10 50 0由于 G 为有向图,d 是不对称的,且 d(i,j) 对应于节点 i 和 j 之间的距离。d 中的 Inf 值对应于不可达的节点。例如,由于节点 1 没有前趋节点,无法从图中的任何其他节点到达节点 1。因此,d 的第一列包含许多 Inf 值反映节点 1 不可达。 默认情况下,distances 使用边权重计算距离。指定 'Method' 为 'unweighted' 以忽略边权重并将所有边距离视为 1。 d1 = distances(G,'Method','unweighted')d1 = 8×8 0 1 1 1 2 2 2 Inf Inf 0 2 4 1 3 5 Inf Inf 4 0 2 5 1 3 Inf Inf 2 4 0 3 5 1 Inf Inf 5 1 3 0 2 4 Inf Inf 3 5 1 4 0 2 Inf Inf 1 3 5 2 4 0 Inf Inf 2 2 2 1 1 1 0 |
CopyRight 2018-2019 实验室设备网 版权所有 |