下载此文档

遗传算法的实验报告.doc


文档分类:IT计算机 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
遗传算法的仿真
一 •实验目的
1•了解遗传算法的原理
2•学习Matlab遗传算法工具箱的使用
3•使用Matlab进行遗传算法的仿真
二•实验设备
计算机
Matlab 软件
三•实验内容和步骤
要求:计算目标函数值函数:f(x) = xsin(10^*x)+ xe [-1,2] o
1•建立目标函数文件。在Matlab命令窗口中,选择“ file ” “ new ”
— “M-file”,,然后在新建的窗口中输入如下内容: %目标函数
function y=ft(x) y=x.*sin(10*pi*x)+2;
2•分别建立相应的子函数文件。
计算适应度和累计概率函数
在 Matlab 命令窗口中,选择 “file" — “new" — “M-file",命名 ,然后在新建的窗口中输入如下内容: function [f,p]=objf(s)
%计算适应度函数
r=size(s); %读取种群大小
inn=r(l); %有 inn 个个体
bn=i•⑵; %个体长度为bn
for i=l:inn
x=n2tol0(s(i,:)); %将二进制转换为十进制
xx=-+x*3/(power(2,bn)-l); % 转化为[-1,2]区间的实数 f(i)=ft(xx); %计算函数值,即适应度
end
f=f';
%计算选择概率
fsum=0;
for i=l:inn
fsum=fsum+f(i)*f(i);
end
for i=l:inn
ps(i)=f(i)*f(i)/fsum;
%计算累积概率
p(l)=ps(l);
for i=2:inn
p(i)=p(i-l)+ps(i);
end
P=P'; end
选择操作函数
在 Matlab 命令窗口中,选择 “file” — “new” t “M-file”,命名 ,然后在新建的窗口中输入如下内容: function seln=sel(s,p) % "选择"操作
inn=size(p,l);
for i=l:2 %从种群中选择两个个体
r=rand; %产生一个随机数
prand=p-r;
j=l;
while prand(j)<0
j=j+l;
end
seln(i)=j; %选中个体的序号
end
交叉操作函数
在 Matlab 命令窗口中,选择“file” — “new” — “M-file”,命名 为
,然后在新建的窗口中输入如下内容: function scro=cro(s,seln,pc) % “交叉”操作 r=size(s);
inn=r(l);
bn=r ⑵;
pcc=pro(pc); %根据交叉概率决定是否进行交叉操作,1则是,0则
变异操作函数
在 Matlab 命令窗口中,选择“file” — “new” — “M-file”,命名 ,然后在新建的窗口中输入如下内容: function snnew=mut(snew,pm) % “变异”操作 r=size(snew);
bn=r(2);
snnew=snew;
pmm=pro(pm); %根据变异概率决定是否进行变异操作,1则

遗传算法的实验报告 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人蓝天
  • 文件大小85 KB
  • 时间2021-07-25