资源简介
模拟清扫机器人搜寻垃圾,以MATLAB作为仿真环境,实现算法设计
代码片段和文件信息
clear all
close all
clc
global Minesweeper Mine Input maxTicks innum midnum outnum
maxTicks=2000;
K_No=30;
Minesweeper=0+(100-0)*rand(K_No2); %初始化K_No个清扫机器人的位置,位置坐标为0-100之间的随机数
Mine=0+(100-0)*rand(402); %初始化40个垃圾的位置,位置坐标为0-100之间的随机数
for i=1:K_No
for j=1:40
dist(ij)=sqrt((Minesweeper(i1)-Mine(j1)).^2+(Minesweeper(i2)-Mine(j2)).^2); %求30个清扫机器人与40个垃圾之间的距离
end
end
[OrderIndex]=min(dist[]2); %求每个清扫机器人与最近的地雷的距离和最近垃圾的位置的标号
ClosestMine=Mine(Index:); %找出与清扫机器人最接近的垃圾的位置
m_vLookAt=rands(K_No2); %将清扫机器人初始视线方向,未归一化
Input=normalized_ch(m_vLookAtClosestMineMinesweeper);%归一化
innum=4; %输入层、隐含层、输出层的各神经元个数
midnum=8;
outnum=2;
CodeL=innum*midnum+midnum*1+midnum*outnum+outnum*1; %总的神经元的个数
MAXGEN=20;%迭代次数
Size=K_No; %群体大小 即为小车设置30个不同的运动轨迹
FieldDD=rep([-1;1][1CodeL]);
Chrom=crtrp(SizeFieldDD); %创建初始权值阈值
%% 遗传算法适应性分数计算部分,适应性分数即目标函数值
ObjV=zeros(Size1); %小车初始适应性分数为0
ObjV=fun_ch(Chrom);
%%
gen=0;
while gen FitnV=ranking(ObjV);
SelCh=select(‘rws‘ChromFitnV1); %选择
SelCh=recombin(‘recdis‘SelCh0.7); %交叉
SelCh=mutate(‘mutbga‘SelChFieldDD); %变异
ObjVOff=fun_ch(SelCh); %计算子代目标函
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论