%-------------函数说明----------------
% 主函数
%---------------------------------------
function MyGA()
clear
clc
popsize = 100; %种群大小
chromlength = 10; %二进制编码长度
pc = 0.3; %交叉概率
pm = 0.001; %变异概率
pop = initpop(popsize,chromlength); %初始种群
Iter = 100; %迭代次数
for i=1:Iter
[objvalue] = cal_objvalue(pop); %计算适应度值(函数值)
fitvalue = objvalue;
[newpop] = selection(pop,fitvalue); %选择操作
[newpop] = crossover(newpop,pc); %交叉操作
[newpop] = mutation(newpop,pm); %变异操作
pop = newpop; %更新种群
[bestindividual,bestfit]=best(pop,fitvalue);%寻找最优解
x2 = binary2decimal(bestindividual);
x1 = binary2decimal(newpop);
[y1] = cal_objvalue(newpop);
if i==Iter %mod(i,10)==0
figure;
fplot('10*sin(5*x)+7*abs(x-5)+10',[0 10]);
hold on;
title(['迭代次数为 n=' num2str(i)]);
plot(x1,y1,'*');
end
end
fprintf('the best X is --->>%5.2f\n',x2);
fprintf('the best Y is --->>%5.2f\n',bestfit);
遗传算法.zip_遗传算法 _遗传算法 matlab_遗传算法 函数_遗传算法函数_遗传算法最优
版权申诉
103 浏览量
2022-07-15
19:00:13
上传
评论
收藏 4KB ZIP 举报
周楷雯
- 粉丝: 78
- 资源: 1万+
最新资源
- fdgsfdgfdsgsf
- 基于CodeMirror5实现的mybatis+sql提示扩展功能,主要是用于在线设计开发场景中的动态sql部分.zip
- 计算机毕业设计-aSP.NET某中学学生成绩管理系统的设计(源代码+)-毕设源码实例.zip
- springboot集成mybatis动态sql.zip
- mybatis中的动态sql, 涉及 where trim set if foreach等
- 简单- 快递运输(Java & JS & Python & C).html
- mybatis框架 更改ems系统,使用动态sql等.zip
- 易语言工具条下拉菜单实现
- Mybatis动态SQL高级映射.zip
- 源码esp8266开发板机智云机智云智能灯
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0