| 查看: 697 | 回复: 2 | ||||
[求助]
遗传算法matlab程序求解
|
|
figure(1); fplot('variable.*sin(10*pi*variable)+2.0',[-1,2]);%画出函数曲线 %定义遗传算法参数 NIND=40;%个体数目(Number of individuals) MAXGEN=25;%最大遗传代数(Maximum number.of generations) PRECI=20;%变量的二进制位数(Precision of variables) GGAP=0.9;%代沟(Generation gap) trace=zeros(2,MAXGEN);%寻优结果的初始值 FieldD=[20;-1;2;1;0;1;1];%区域描述器(Build field descriptor)格雷编码,算术刻度,包含边界 Chrom=crtbp(NIND,PRECI);%初始种群 gen=0;%代计数器 variable=bs2rv(Chrom,FieldD);%计算初始种群的十进制转换 ObjV=variable.*sin(10*pi*variable)+2.0;%计算目标函数值 while gen SelCh=select('sus',Chrom,FitnV,GGAP);%选择 SelCh=recombin('xovsp',SelCh,0.7);%重组 SelCh=mut(SelCh);%变异 variable=bs2rv(SelCh,FieldD);%子代个体的十进制转换 ObjVSel=variable.*sin(10*pi*variable)+2.0;%计算子代的目标函数值 [Chrom ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel);%重插入子代的新种群 gen=gen+1;%代计数器增加 %输出最优解及其序号,并在目标函数图像中标出,Y为最优解,I为种群的序号 [Y,I]=max(ObjV); hold on; plot(variable(I),Y,'bo');%b是blue,o是圆圈 trace(1,gen)=max(ObjV);%遗传算法性能跟踪 trace(2,gen)=sum(ObjV)/length(ObjV); end variable=bs2rv(Chrom,FieldD);%最优个体的十进制转换 hold on ; grid on;%显示网格线 plot(variable',ObjV','b*'); figure(2); plot(trace(1, ');%plot函数可以接受字符串输入变量,这些字符串输入变量用来指定不同的颜色、线型和标记符号。:表示点线hold on; plot(trace(2, ','-.');grid;%-.表示点划线legend('解的变化','种群均值的变化');%图形加标注 麻烦问一下 染色体数目会变为36? 怎么样解决,使其一直为40? |
» 收录本帖的淘帖专辑推荐
导航、制导与控制 | matlab |
» 猜你喜欢
有院领导为了换新车,用横向课题经费买了俩车
已经有9人回复
酰胺脱乙酰基
已经有13人回复
博士延得我,科研能力直往上蹿
已经有8人回复
同年申请2项不同项目,第1个项目里不写第2个项目的信息,可以吗
已经有4人回复
有时候真觉得大城市人没有县城人甚至个体户幸福
已经有10人回复
天津大学招2026.09的博士生,欢迎大家推荐交流(博导是本人)
已经有5人回复
CSC & MSCA 博洛尼亚大学能源材料课题组博士/博士后招生|MSCA经费充足、排名优
已经有6人回复
面上项目申报
已经有3人回复
遇见不省心的家人很难过
已经有22人回复
» 本主题相关价值贴推荐,对您同样有帮助:
大家爱帮我看看这段MATLAB程序为啥出错了
已经有5人回复
求助高手将以下C语言翻译为Matlab语言,急急急!
已经有12人回复
matlab论文分享(包括神经网络,遗传算法,粒子群算法)
已经有442人回复
如何MATLAB程序实现遗传算法
已经有11人回复
一个关于matlab的遗传算法的问题
已经有3人回复
学习Matlab必备!!!
已经有398人回复
求回归方程参数估计的最优化算法matlab代码
已经有9人回复
看不懂matlab程序该怎么办?
已经有7人回复
遗传算法的一段程序请教解释
已经有9人回复
【求助】matlab 遗传算法工具箱绘图命令是什么?
已经有6人回复
2楼2013-05-02 23:39:21
3楼2013-05-02 23:52:12













');%plot函数可以接受字符串输入变量,这些字符串输入变量用来指定不同的颜色、线型和标记符号。:表示点线
回复此楼