![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法的MATLAB实现
文章平均质量分 63
东风难破
这个作者很懒,什么都没留下…
展开
-
最短路径Dijkstra算法原理及Matlab实现
一 实现原理Dijkstra算法研究的是从初始点到其他每一结点的最短路径以下图为例,首先介绍Dijstra的原理红字为各结点的编号,蓝字为各结点之间的距离 首先定义几个变量 结点个数n; 二维矩阵M(nxn),距离矩阵,连通的结点间即为距离,不连通的结点间为正无穷,和自己的距离为0; 一维矩阵pb(1xn),若第i点已找到最短路径,则fp(i)=1,否则等于0,对于初始结点,fp=1; 距离矩阵d(1xn),若第i点已找到最短路径,则的d(i)=最短距离,否则为0,初始...原创 2020-10-26 16:53:03 · 6480 阅读 · 5 评论 -
数据结构-快速排序的原理、实现及效率分析
1. 快速排序的原理快速排序依赖分区。分区:从数组随机选取一个值,以其为轴,将比它小的值放到它的左边,比它大的值放到它的右边。以数组[0,5,2,1,6,3]升序排列为例:轴可以任选,我们选数组最右的值为轴。放置指针,它们应该分别指向排除轴元素的数组最左和最右的元素。接着就可以分区了,步骤如下。(1) 左指针逐个格子向右移动,当遇到大于或等于轴的值时,就停下来。(2) 右指针逐个格子向左移动,当遇到小于或等于轴的值时,就停下来。(3) 将两指针所指的值交换位置。(4) 重复上述步骤原创 2021-04-12 09:26:26 · 1511 阅读 · 0 评论 -
数据结构-插入排序的原理、实现及效率分析
1.插入排序的原理插入排序总共有四个步骤:取值-比较-平移-插入下面我们以[4,2,7,1,3]的升序排序为例,说明插入排序的实现过程。(1)第一轮,默认第一个元素有序,即从第二个元素开始操作。1)取值:取出第二个元素2放入temp中2)比较:将第一个元素4与2比较,4>23)平移:将4向右平移一个单位,4)插入:将2插入第一个位置。(2)第二论1)取值:取出第三个元素7放入temp中2)比较:将第二个元素4与7比较,4<7,不用进行步骤3及步骤4.(3)第三轮,1)原创 2021-04-11 14:07:31 · 1155 阅读 · 0 评论 -
数据结构-选择排序的原理、实现及效率分析
1. 选择排序的原理每次从未排序的元素中找到最大(或最小)的元素放在已排序的元素的末尾。以数组[4,22,7,1,3]为例。步骤1:找到最小的元素为1,4与1交换。得到[1,2,7,4.3]步骤2:找到最小的元素为2,不用交换。得到[1,2,7,4.3]步骤3:找到最小的元素为3,7与3交换。得到[1,2,3,4.7]步骤4:找到最小的元素为4,不用交换。得到[1,2,3,4.7]2. MATLAB实现sortarray=[4,2,7,1,3];[m,n]=size(sortar原创 2021-04-09 11:15:39 · 396 阅读 · 0 评论 -
数据结构-冒泡排序的原理、实现及效率分析
1.冒泡排序的原理每次轮回之后,未排序的值中最大的值(递增排序)都会“冒”到正确的位置上。2. 冒泡排序的MATLAB实现bubble.mfunction y=Bubble(x)% %冒泡算法:x_len=length(x); %度量数量长度,为排序做准备for i=1:x_len-1 %重复内循环,只是保证循环次数发生改变 for j=1:x_len-i原创 2021-04-08 11:05:39 · 756 阅读 · 0 评论 -
谢菲尔德遗传算法工具箱函数简介
一 谢菲尔德遗传算法工具箱的主要函数如下表所示:二 函数介绍—创建种群1. crtbase1.1 功能创建一个所有染色体中最基本的染色体**对应的向量*语法:1.2 语法BaseVec = crtbase(Lind,Base)1.3 输入参数 1 Lind:染色体长度 2 Base:最基础,最基本的基因。1.4 用例BaseBec:返回基础基因组2. crtbp:2.1 功能创建任意离散随机种群。即多个染色体组成的种群。2.2 语法[Chrom,Lind,BaseV原创 2021-04-07 19:36:14 · 3494 阅读 · 2 评论 -
MATLAB安装谢菲尔德(Sheffield)遗传算法工具箱的安装(文件名已小写)
一 环境说明解决此问题所使用的环境是:MATLAB版本:MATLAB2018b操作系统:win10专业版资料链接(谢菲尔德工具箱):链接:https://pan.baidu.com/s/18GOVYGZgz8tuKbx86wPQJw提取码:vh2p二 解决问题谢菲尔德工具箱在MATLAB2018中的安装。三 解决过程下载链接中的谢菲尔德工具箱。其中的rename.bat文件是用来将文件的大写名称改成小写名称(如果不改,使用会有问题)的,此资料中的.M文件已经处理,无需再处理*。原创 2021-04-03 00:28:01 · 8814 阅读 · 34 评论 -
蒙特卡洛算法的MATLAB实现
一相关背景二 解决问题1.三 算法原理四 相关的知识五 代码实现六 结果测验原创 2020-11-08 16:16:27 · 27538 阅读 · 1 评论