24小时热门版块排行榜    

查看: 7656  |  回复: 1

我姐的妹子

新虫 (初入文坛)

[求助] matlab 遗传算法 如何输出每一迭代步的最优解 已有1人参与

调用matlab遗传算法工具箱时,用gatool调用或是用ga函数调用,只能输出最终迭代步的最优解,请问如何设置,才能保存每一迭代步的最优解呢?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

东南华

新虫 (初入文坛)

【答案】应助回帖

while gen<MAXGEN
   FitnV=ranking(-ObjV);                                  %分配适应度值(Assign fitness values)         
   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); %重插入子代的新种群
   variable=bs2rv(Chrom, FieldD);
   gen=gen+1;                                             %代计数器增加
   %输出最优解及其序号,并在目标函数图像中标出,Y为最优解,I为种群的序号
   [Y, I]=max(ObjV)  hold on;
   plot(variable(I), Y, 'bo');
   trace(1, gen)=max(ObjV);                               %遗传算法性能跟踪
   trace(2, gen)=sum(ObjV)/length(ObjV);
end

你可以试下,一个循环的程序,显示每一代的最优解。
2楼2014-07-07 10:16:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 我姐的妹子 的主题更新
信息提示
请填处理意见