所有节点对组的最短路径距离 您所在的位置:网站首页 matlab曲面函数最短路径 所有节点对组的最短路径距离

所有节点对组的最短路径距离

2024-05-12 04:35| 来源: 网络整理| 查看: 265

打开实时脚本

创建并绘制一个具有加权边的有向图。

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 实验室设备网 版权所有