matlab算法模型——图的最短路径和距离

这篇具有很好参考价值的文章主要介绍了matlab算法模型——图的最短路径和距离。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、前言

二、最短路径

1.sqarse创建稀疏矩阵

​​2.有向图的最短路径

        使用graphallshortestpaths函数

使用dijkstra.ma函数(直接引用)

3.无向图的最短路径

使用函数graphallshortestpaths(2021的版本不能用了)

使用shortestpath函数

三、未解决的问题


一、前言

动态规划——求解某类问题的一种方法,考察问题的一种途径
线性规划——一种算法,有标准的数学表达式和明确定义,对具体问题具体分析

二、最短路径  

1.sqarse创建稀疏矩阵

制作无向图matlab算法模型——图的最短路径和距离
法1:

 

 

%w(起点,终点)=权重值
w = zeros(4);%表示有一个一维数组,一维数组的个数4
w(1,2) = 2;w(2,4)= 6;
w(1,4) = 8;w(2,3)= 6;
w(1,3)= 3;
G = sparse(w);

matlab算法模型——图的最短路径和距离

 法2:(创建稀疏矩阵)

%创建稀疏矩阵
%sparse([起点集合],[对应终点集合],[对应权重集合])
G = sparse([1 1 1 2 2],[2 3 4 3 4],[2 3 8 6 6]);
%1对2,对应权重为2
s = sparse(G);

2.有向图的最短路径


        使用graphallshortestpaths函数

G = sparse([6 1 2 2 3],[2 6 3 5 4],[41 99 51 32 15]);
view (biograph (G,[],'ShowWeights','on'))
%MATLAB中设置视点的函数view
%biograph()用来画树状图展示元素的函数

matlab算法模型——图的最短路径和距离

 

 

 

matlab算法模型——图的最短路径和距离类似线性代数里的最短路径问题

 

使用dijkstra.ma函数(直接引用)

3.无向图的最短路径  

使用函数graphallshortestpaths(2021的版本不能用了)

G = sparse([6 1 2 2 3],[2 6 3 5 4],[41 99 51 32 15]);
UG = tril(G + G')
view (biograph (UG,[],'ShowArrows','off'))
graphallshortestpaths(UG,'directed',false)

使用shortestpath函数

%构造邻接矩阵
G = zeros(6);
G  =graph([6 1 2 2 3 4 4 5 5 6 1],[2 6 3 5 4 1 6 3 4 3 5],[41 99 51 32 15 45 38 32 36 29 21])
plot (G ,'EdgeLabel' ,G.Edges.Weight)
[P,d]= shortestpath(G,1,6)



matlab算法模型——图的最短路径和距离

 

三、未解决的问题  


view (biograph (UG,[],'ShowArrows','off'))

1.设置视点的函数为什么这么写?

G = sparse([6 1 2 2 3],[2 6 3 5 4],[41 99 51 32 15]);
UG = tril(G + G')
view (biograph (UG,[],'ShowArrows','off'))
graphallshortestpaths(UG,'directed',false)

2.UG = tril (G +G')为什么文章来源地址https://www.toymoban.com/news/detail-441718.html

到了这里,关于matlab算法模型——图的最短路径和距离的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据结构(12)Dijkstra算法JAVA版:图的最短路径问题

    目录 12.1.概述 12.1.1.无权图的最短路径  12.1.2.带权图的最短路径 1.单源最短路径 2.多源最短路径 12.2.代码实现 无权图的最短路径,即最少步数,使用BFS+贪心算法来求解最短路径,比较好实现,此处不做展开讨论。 有权图的最短路径,不考虑权重为负数的情况,因为权重为负

    2024年02月06日
    浏览(45)
  • 详解图的最短路径算法(BFS、Dijkstra、Floyd)(附上图解步骤)

    最短路径分为两种: (1)单源路径:从某顶点出发,到其他全部顶点的最短路径 (2)顶点间的最短路径:任意两个顶点之间的最短路径 最短路径的结果主要有两个方面: (1)顶点之间最短路径的长度 (2)从源顶点到目标顶点的路径 只有边权为 1 时才能用BFS求最短路。

    2024年02月05日
    浏览(52)
  • 数据结构——图的最短路径

    在图中,求两个不同顶点间的不同路径中,边的权值和最小的那条路径。这条路径就叫做 最短路径(Shortest Path) ,第一个顶点叫做 源点(Source) ,最后一个顶点叫做 终点(Destination) 。 单源最短路径问题: 从某固定源点出发,求其到所有其他顶点的最短路径。         包

    2024年02月03日
    浏览(49)
  • 图的最短路径 (数据结构实验报告)

    一、实验目的 讲清楚进行本实验后要学到的知识、掌握的数据结构及其定义和表示方法,讲清楚所采用的算法。 掌握图结构的(邻接矩阵)输入方法 掌握图结构的说明、创建以及图的存储表示(邻接矩阵) 掌握最短路径算法原理 掌握最短路径算法的编程实现方法 二、实验

    2024年02月06日
    浏览(46)
  • 最小花费-银行转账-图的最短路-超详细解析注释

    最小花费-银行转账-图的最短路-超详细解析注释 【题目描述】 在n个人中,某些人的银行账号之间可以互相转账。这些人之间转账的手续费各不相同。给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使得转账后B收到100元。 【输入】 第一

    2024年01月20日
    浏览(41)
  • Java高阶数据结构 & 图的最短路径问题

    图的最短路径问题! 图的基础知识博客:传送门 最短路径问题: 从在带权图的某一顶点出发,找出一条通往另一顶点的最短路径, 最短也就是沿路径各边的权值总 和达到最小 。 一共会讲解三种算法 Dijkstra算法【单源最短路径】 Bellman-Ford算法【单源最短路径】 改进:SPF

    2024年02月04日
    浏览(49)
  • 【Java高阶数据结构】图的最短路径问题

    图的最短路径问题! 图的基础知识博客:传送门 最短路径问题: 从在带权图的某一顶点出发,找出一条通往另一顶点的最短路径, 最短也就是沿路径各边的权值总 和达到最小 。 一共会讲解三种算法 Dijkstra算法【单源最短路径】 Bellman-Ford算法【单源最短路径】 改进:SPF

    2024年02月08日
    浏览(35)
  • 【任务分配】多目标粒子群算法求解多无人机多任务路分配及路径规划(最短路程+最短时间)问题【含Matlab源码 3522期】

    1 粒子群算法 粒子群算法是智能算法领域中除蚁群算法、鱼群算法又一个智能群体算法。 PSO算法首先在可行解空间中初始化一群粒子,每个粒子都代表极值优化问题的一个潜在最优解。粒子在解空间中运动,通过跟踪个体极值Pbest和群体极值Gbest更新个体位置。 粒子每更新一次

    2024年02月04日
    浏览(62)
  • 最短路径-任意两点间最短距离-Floyd算法的matlab实现(详细教程)

    目录 简介 核心思路 优缺点分析 算法过程          示例 Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德

    2024年02月05日
    浏览(43)
  • 面试算法8:和大于或等于k的最短子数组

    输入一个正整数组成的数组和一个正整数k,请问数组中和大于或等于k的连续子数组的最短长度是多少?如果不存在所有数字之和大于或等于k的子数组,则返回0。例如,输入数组[5,1,4,3],k的值为7,和大于或等于7的最短连续子数组是[4,3],因此输出它的长度2。 首先,指

    2024年02月07日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包