资源简介
该代码是自己通过学习遗传算法编写的小Demo
代码片段和文件信息
%遗传算法编程
clear all;
clc;
x = -5:0.01:5;
y = x.^2;
yn = 30 - x.^2; %最大值
%figure(1);
%plot(xy‘:‘);
n = (5-(-5))/0.01+1;%因为n=1001个数约等于1024即2的10次方,所以选择10位bit进行编码。
%我们产生的随机数是在0-1000之间。
r = zeros(12);
q = zeros(12);
%----------------------------------------------------------------
%产生种群库
xn = round(1000*rand(115));
%x = -5+(10*xi)/1000即x=0处xi=500
ExpectMax = yn(1);
ExpectDot = x(1);
for N=1:500; %N表示进化的次数
for i=1:15;
for j =1:15;
if abs(xn(i)-xn(j))<=10 && i~=j; %防止近亲成为了种群族跳转不出循环
xn(i) = floor(1000*rand(11));
end
end
end
%----------------------------------------------------------------
%适应度函数和近亲的选择
for i=1:15;
x(i) = -5+(10*xn(i))/1000;
yn = 30 - x(i).^2;
if yn > ExpectMax;
ExpectMax = yn;
ExpectDot = x(i); %xx是我们最后的接近理想值
end
end
%----------------------------------------------------------------
%交叉算法实现-->>内部交叉 2位随机的连续的bit进行交叉 概率一般0.6左右
xc = dec2bin(xn(1:15)); %把10进制数转换为2进制数
j
- 上一篇:基于matlab的动画仿真
- 下一篇:SAR_Figure_5_17.m
相关资源
- 基于matlab的动画仿真
- 小波图像压缩matlab源码
- matlab源程序,计算mie散射
- matlab汽车悬架仿真
- 基于颜色识别蓝橙黄不同小物块的m
- matlab7.0控制系统应用
- Matlab 鼠标抓取三维点坐标
- Mathworks MATLAB 2011a crack
- 关于电机PID的MATLAB的仿真安徽工程大
- AES加密的matlab实现
- RS码编码所需关键步骤为自行编写实现
- 在MATLAB中用BP神经网络进行数据分类
- BP神经网络Matlab程序--绝对经典
- 三分类_svm_matlab
- ICA原理及matlab实现
-
自制的基于MATLAB Simuli
nk的SVPWM模型 - matlab论文 线性回归问题
- 自相关功率谱的线谱提取
- matlab复杂网络及其零模型性质计算
- 雅可比矩阵matlab代码
- 基于Matlab的大学物理实验模拟
- 可以实时改变占空比的Pulse Generator
- omp算法matlab稀疏表示中用来求最优解
- 修正剑桥模型程序
- 浅水波方程 matlab实现 两种不同方法
- 基于matlab的jpeg编解码程序
- 阵列信号处理的理论和应用 matlab程序
- 高光谱遥感图像FuzzyMeansCluster算法-m
- 指纹识别matlab程序
- matlab实现模糊c均值聚类
评论
共有 条评论