matlab解决最短路径问题

写在前面

最短路径问题是图论研究中的一个经典算法问题。
它旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。

这次主要是提供一个解决最短路径问题的matlab app。

本次分享的最短路径问题app仅针对无向图,实际上由于单行道存在,很多时候实际问题是一个有向图,有向图内容我们将在后期介绍。
最短路径问题示意图

两种表示方法

邻接矩阵法和邻接表法。

邻接矩阵(Adjacency Matrix)是表示顶点之间相邻关系的矩阵。

邻接矩阵又分为有向图邻接矩阵和无向图邻接矩阵。无向图的邻接矩阵一定是对称的,而有向图的邻接矩阵不一定对称。

这里我们用的是无向图的邻接矩阵表示图1中的地点和道路关系。例如地点1和地点2之间距离为6,则表1中矩阵1行2列和2行1列的值均为6,地点1和4之间没有道路,其矩阵表示为无穷大Inf。地点1与其自身距离为0。

在这里插入图片描述
邻接表只存储图中存在的边以及边的长度,例如点1和点2之间存在长度为6的边,那么邻接表中存在一行1,2,6。
在这里插入图片描述

minpath的安装

在matlab当前路径下,双击minpath.mlappinstall即可完成安装。

安装后的程序可以APP下面找到——
在这里插入图片描述

minpath的使用

minpath支持邻接矩阵以及邻接表两种表示无向图的方式,支持读取存储在.mat文件、文本文件以及excel文件的数据,也支持手动输入数据。文本文件和excel文件可以选择添加一行表头。

以下动图为minpath使用的操作实例。我们在testdata文件夹中提供了各种格式的测试数据。

在这里插入图片描述
在这里插入图片描述

获取源代码或想要了解更多,欢迎关注公众号:数学建模公会
在这里插入图片描述

  • 9
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值