目录

Matlab图论工具箱的应用

Matlab图论工具箱

求解所有顶点的最短距离graphallshortestpaths函数

函数说明

Matlab使用方法

函数格式

Matlab调用格式

求解特定起始点的最短路径graphshortestpaths函数

函数说明

函数调用格式

函数参数说明

Matlab调用格式

最小生成树graphminspantree函数

函数说明

函数调用格式

参数说明

Matlab调用格式

计算有向图的最大流graphmaxflow函数

函数说明

函数调用格式

函数参数说明

Matlab调用格式

图的遍历graphtraverse函数

目的

函数说明

函数调用格式

函数参数说明

Matlab调用格式

图的广度优先遍历与深度优先遍历原理简介(仅作参考)

数据结构图中回溯概念的理解(仅作参考)

参考


Matlab图论工具箱的应用

Matlab图论工具箱

命令名

功能

graphallshortestpaths

求图中所有顶点对之间的最短距离

graphconncomp

找无向图的连通分支,或有向图的强弱连通分支

graphisdag

测试有向图是否含有圈,不含圈返回1,否则返回0

graphisomorphism

确定两个图是否同构,同构返回1,否则返回0

graphisspantree

确定一个图是否是生成树,是返回1,否则返回0

graphmaxflow

计算有向图的最大流

graphminspantree

在图中找最小生成树

graphpred2path

把前驱顶点序列变成路径的顶点序列

graphshortestpath

求图中指定的一对顶点间的最短距离和最短路径

graphtopootder

执行有向无圈图的拓扑排序

graphtraverse

求从一顶点出发,所能遍历图中的顶点

我接下来挑选几个常用的函数进行讲解。

求解所有顶点的最短距离graphallshortestpaths函数

函数说明

graphallshortestpaths

求图中所有顶点对之间的最短距离

Matlab使用方法

① 根据题目构造权值向量;

② 匹配线段的起始点与相应的权值;

③ 调用函数graphallshortestpaths

函数格式

[dist]=graphallshortestpaths(G)

[dist]=graphallshortestpaths(G,...’Directed’,DirectedValue,...)

[dist]=graphallshortestpaths(G,...’Weights’,WeightsValue,...)

函数参数说明

G参数

G参数是什么?

G是个稀疏矩阵,我的理解是稀疏矩阵就是含有大量0的矩阵,可能为了便于存储和加快计算,才采用这种矩阵。实质上G就相当于以路径的始末点作为索引,以路径权值或者容量为内容的实数对。

G参数如何生成?

G并不是图的路径权值矩阵,它由s[]向量和t[]向量和路径权值向量w[]构成:G=spares(s,t,w)。也就是说G应该是个N*3的矩阵,第一行表示节点起点,第二行表示节点终点,第三行是权值。

无向图与有向图的区别?

由于是不重复的三角矩阵,因此生成的稀疏矩阵代表着有向图。如果想要生成无向图,需要这样操作:UG=tril(G+G');就是把G和自己的转置G'加起来再求等价变换得到的下三角矩阵。

DirectedValue属性

属性

作用

True

有向图(默认)

False

无向图

WeightsValue属性

Weightvalue属性一般不用指定,函数graphallshortestpath函数默认从稀疏矩阵G中获取。

Dist输出参数

输出[dist]是一个N*N的矩阵,每一个元素代表两点之间最短距离,对角线上的元素总为零,不在对角线上的零表示起点和终点的距离为零,inf值表示没有路径。

Matlab调用格式

针对于“有向图”

构建权值向量&生成网的邻接矩阵

根据函数调用形式带入函数

注:当横纵坐标相等时,路径为0.

针对于无向图

求解特定起始点的最短路径graphshortestpaths函数

函数说明

graphshortestpaths

求图中特定顶点对之间的最短距离

函数调用格式

[dist,path]=graphshortestpaths(G,S,T)

[dist,path]=graphshortestpaths(G,S,T’Directed’,DirectedValue,...)

[dist,path]=graphshortestpaths(G,S,T’Weights’,WeightsValue,...)

函数参数说明

G

稀疏矩阵

S

起点

T

终点

Dist

最短距离

path

最短距离经过的路径节点

Matlab调用格式

最小生成树graphminspantree函数

函数说明

graphminspantree

在图中找最小生成树

函数调用格式

[Tree,pred]=graphminspantree(G)

[Tree,pred]=graphminspantree(G,R)

[Tree,pred]=graphminspantree(...,’Method’,MethofValue,...)

[Tree,pred]=graphminspantree(...,’Weights’,WeightsValue,...)

参数说明

该函数用来寻找一个无循环的节点集合,连接无向图的全部节点,并且总的权值最小。

Tree

一个代表生成树的稀疏矩阵

Pred

包含最小生成的祖先节点的向量

G

稀疏矩阵

R

根节点,取值为1到节点数目

Method

可以选择‘Kruskal’,’Prim’等算法

Matlab调用格式

针对于无向图

针对于有向图

计算有向图的最大流graphmaxflow函数

函数说明

graphmaxflow

计算有向图的最大流

函数调用格式

[MaxFlow,FlowMatrix,Cut]=graphmaxflow(G,SNode,TNode)

[...]=graphmaxflow(G,SNode,TNode,...’Capacity’,CapacityValue,...)

[...]=graphmaxflow(G,SNode,TNode,...’Method’,MethodValue,...)

函数参数说明

输入参数G

N*N的稀疏矩阵

输入参数SNode

起点

输入参数TNcode

目标点

CapacityValue属性

每条边自定义容量的列向量,默认从G中获取

MethodValue属性

可以取‘Edmonds’和‘Goldberg’算法

输出参数MaxFlow

网络最大流

输出参数FlowMatrix

每条边数据流的值所组成的稀疏矩阵

输出参数cut

连接起点与目标点的逻辑向量,如果有多个解时,Cut是一个矩阵

Matlab调用格式

补充说明“sparse函数的用法”

注:稀疏矩阵G中的权值就代表对应路径所能承载的容量。

这里K为2行6列的矩阵,代表着2个最优路径。

图的遍历graphtraverse函数

目的

主要是找到一种既不重复又不遗漏的访问方法,可用来判断一个图是否连通。

函数说明

graphtraverse

求从某一个顶点出发,所能遍历图中的顶点

函数调用格式

[disc,pred,closed]=graphtraverse(G,S)

[...]=graphtraverse(G,S,...’Directed’,DirectedValue,...)

[...]=graphtraverse(G,S,...’Depth’,DepthValue,...)

[...]=graphtraverse(G,S,...’Method’,MethodValue,...)

函数参数说明

G

有向图的稀疏矩阵

S

起始节点

Disc

节点索引向量

Pred

祖先节点索引向量

Methodvalue表示遍历方法:默认为“深度优先遍历”:

Depthvalue表示遍历深度值:

表示图G中指定搜索深度的节点的整数。默认值是Inf(无穷大)。

Matlab调用格式

图的广度优先遍历与深度优先遍历原理简介(仅作参考)

https://www.cnblogs.com/qzhc/p/10291430.html

数据结构图中回溯概念的理解(仅作参考)

https://blog.csdn.net/weixin_42744107/article/details/106875649

参考

图论工具箱常用函数:

https://www.cnblogs.com/markReaper/p/8454817.html

几个常用的matlab图论工具箱函数相关推荐

  1. MATLAB信号处理工具箱函数列表分类

    **现将MATLAB信号处理工具箱函数进行分组,便于记忆查询和长期回顾.(只解释基本用途,具体用法请在help目录下查询)** Waveform Generation(波形产生) chairp: 产生 ...

  2. matlab 细化函数,MATLAB图像处理工具箱函数(细化篇).doc

    MATLAB图像处理工具箱函数(细化篇) 第3章 MATLAB数字图像处理工具箱 3.1 MATLAB图像预处理 3.1.1 图像处理的基本操作 1. 读入并显示一幅图像 clear %清除所有的工作 ...

  3. matlab仿真plant函数,(整理)matlab预测控制工具箱函数.

    精品文档 精品文档 MATLAB 预测控制工具箱函数 1通用的传递函数转变为MPC 传递函数模型 (1) 2MPC 传递函数模型转换为MPC 阶跃响应模型 (1) 3基于阶跃响应模型的控制器设计和仿真 ...

  4. Matlab图论工具箱

    Matlab图论工具箱 文章目录 Matlab图论工具箱 稀疏矩阵与普通矩阵的转化 有向图最大流 graphmaxflow 注意事项 图最小生成树 graphminspantree 其他参数 两节点最 ...

  5. matlab信号处理工具箱函数列表

    现将MATLAB信号处理工具箱函数进行分组,便于记忆查询和长期回顾.(只解释基本用途,具体用法请在help目录下查询) Waveform Generation(波形产生) chairp: 产生扫频余弦 ...

  6. MATLAB函数gensurf,MATLAB模糊逻辑工具箱函数.ppt

    1 MATLAB模糊逻辑工具箱简介 2 利用模糊逻辑工具箱建立模糊推理系统 3 MATLAB模糊逻辑工具箱的图形用户界面 4 基于Simulink的模糊逻辑的系统模块 5.2.5 模糊推理计算与去模糊 ...

  7. matlab 遗传算法m函数,MATLAB遗传算法工具箱函数应用

    核心函数: (1)function [pop]=initializega(num,bounds,eevalFN,eevalOps,options)--初始种群的生成函数 [输出参数] pop--生成的 ...

  8. matlab遗传算法函数实例,matlab遗传算法工具箱函数及实例讲解

    gaotv5 核心函数: (1)function [pop]=initializega(num,bounds,eevalFN,eevalOps,options)--初始种群的生成函数 [输出参数] p ...

  9. matlab 图论工具箱

    图论工具箱 graphallshortestpaths 求图中所有顶点对之间的最短距离 graphconncomp 找无向图的连通分支,或有向图的强弱连通分支 graphisdag 测试有向图是否含有 ...

最新文章

  1. 无人驾驶急需解决:规划控制和传感器价格高两大问题(附Apollo算法)
  2. Serverless无服务应用架构纵横谈
  3. python八大选择排序_Python实现选择排序
  4. laravel中及其常用的一些函数方法(自己看)和技巧(不断添加中)
  5. 数学建模学习笔记——拟合算法
  6. 【Java并发编程】之八:多线程环境中安全使用集合API
  7. python基础(part14)--异常处理
  8. php页面怎么去登录,php中登录后跳转回原来要访问的页面实例
  9. java数组移除对象_如何从Java数组中删除对象?
  10. GNN在谱域下的演化:Spectral CNN,ChebyNet,GCN
  11. 在oracle中 生成大规模数据 500万条 (使用导入数据方式 sqlldr 导入命令 *.ctl文件)
  12. 启动关闭HadoopSpark历史服务
  13. 能安装python库的app_APP自动化之安装Python(类库)环境
  14. python 基础复习
  15. UOS U盘复制性能,3M
  16. 计算平均成绩,科目数已知
  17. 学生成绩管理系统测试用例C语言,学生成绩管理系统测试用例.docx
  18. java 编写浏览器_用Java自己写一个浏览器 —— JavaFX 入门
  19. 冒泡排序(图解+代码详解)
  20. android模拟器mac版本下载,TapTap安卓模拟器for Mac-TapTap模拟器Mac版下载 V1.8.3-PC6苹果网...

热门文章

  1. 10-20个城市或纳入新限购范围 成交下降2%至3%
  2. _improve-3
  3. PDF为什么不能编辑?总结三种原因,附解决办法~
  4. svga插件_SVGA实例讲解
  5. CSS图像填充文字(镂空文字效果 / 文字镂空效果)
  6. 手把手教你用Python实现批量文件的压缩处理
  7. 郑州泓晟龙腾计算机有限公司,龙腾资料管理系统
  8. 阿里云邮件群发服务API
  9. IoT 物联网创业启示录 (前言)
  10. 小米手环4怎么使用_小米手环4的实际使用情况如何?