没有合适的资源?快使用搜索试试~ 我知道了~
遗传算法MATLAB完整代码(不用工具箱).pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 176 浏览量
2022-06-20
16:30:16
上传
评论
收藏 125KB PDF 举报
温馨提示
试读
4页
遗传算法MATLAB完整代码(不用工具箱).pdf遗传算法MATLAB完整代码(不用工具箱).pdf遗传算法MATLAB完整代码(不用工具箱).pdf遗传算法MATLAB完整代码(不用工具箱).pdf遗传算法MATLAB完整代码(不用工具箱).pdf遗传算法MATLAB完整代码(不用工具箱).pdf遗传算法MATLAB完整代码(不用工具箱).pdf遗传算法MATLAB完整代码(不用工具箱).pdf
资源推荐
资源详情
资源评论
遗传算法解决简单问题
%主程序:用遗传算法求解 y=200*exp(—0。05*x)。*sin(x)在区间[-2,2]上的最大值
clc;
clear all;
close all;
global BitLength
global boundsbegin
global boundsend
bounds=[—2,2];
precision=0。0001;
boundsbegin=bounds(:,1);
boundsend=bounds(:,2);
%计算如果满足求解精度至少需要多长的染色体
BitLength=ceil(log2((boundsend-boundsbegin)'./precision));
popsize=50; %初始种群大小
Generationmax=12; %最大代数
pcrossover=0.90; %交配概率
pmutation=0.09; %变异概率
%产生初始种群
population=round(rand(popsize,BitLength));
%计算适应度,返回适应度 Fitvalue 和累计概率 cumsump
[Fitvalue,cumsump]=fitnessfun(population);
Generation=1;
while Generation<Generationmax+1
for j=1:2:popsize
%选择操作
seln=selection(population,cumsump);
%交叉操作
scro=crossover(population,seln,pcrossover);
scnew(j,:)=scro(1,:);
scnew(j+1,:)=scro(2,:);
%变异操作
smnew(j,:)=mutation(scnew(j,:),pmutation);
smnew(j+1,:)=mutation(scnew(j+1,:),pmutation);
end
population=scnew; %产生了新的种群
%计算新种群的适应度
[Fitvalue,cumsump]=fitnessfun(population);
%记录当前代最好的适应度和平均适应度
[fmax,nmax]=max(Fitvalue);
fmean=mean(Fitvalue);
ymax(Generation)=fmax;
ymean(Generation)=fmean;
%记录当前代的最佳染色体个体
资源评论
苦茶子12138
- 粉丝: 1w+
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功