[求助]遗传算法执行
参考文献及百度上列举出来的遗传算法实例,将initializega.m和ga.m导入工作目录后,完全按文献上的程序写出函数为function=fitness(sol,options)
x=sol(1);
val=1/[(x-0.2)^2+0.01]+1/[(x-0.8)^2+0.04]-4;
fplot('1/[(x-0.2)^2+0.01]+1/[(x-0.8)^2+0.04]-4',[-1 2])
hold on
initPop=initializega(10,[-1 2],'fitness');
plot(initPop(:,1),initPop(:,2),'b*')
xlabel('x');ylabel('f(x)');
hold on
=ga([-1 2],'fitness',[],initPop,,'maxGenTerm',80,'normGeomSelect',,['arithXover'],,'nonUnifMutation',);
plot(endPop(:,1),endPop(:,2),'y*')
figure(2)
plot(trace(:,1),trace(:,3),'y-')
hold on
plot(trace(:,1),trace(:,2),'r-')
xlabel('generation');ylabel('Fitness')
legend('解的变化','种群平均值的变化');
为何在执行的过程中提示
??? Error using ==> ga
Too many input arguments.
Error in ==> Untitled3 at 7
=ga([-1 2],'fitness',[],initPop,,'maxGenTerm',80,'normGeomSelect',,['arithXover'],,'nonUnifMutation',);
首次接触遗传算法,请大家多多指教,谢谢 建议楼主再help ga! 你好~你的程序通了么? 暂未,还在研究中... 你的initializega.m没问题么
能运行么?
给我看看initializega.m的程序好么?我的运行有问题
[ 本帖最后由 ChaChing 于 2009-3-23 21:36 编辑 ] 给我看看initializega.m的程序好么?我的运行有问题
回复 楼主 Greaf 的帖子
ga的调用方式是这样的吗?? ga没学过, 刚刚help下 (r2006a)x = ga(fitnessfcn,nvars,A,b,Aeq,beq,LB,UB,nonlcon,options)
好像与楼主调用方式不同!? ga是自己编的? 检查一下各变量的维数 ga.m是复制toolbox里的到工作目录
initializega.m是复制这个论坛里happy发的代码
ga的调用方式是按照文献中写法弄的,本想模仿着来学习研究下的... 遗传算法程序=ga(,'opt'[],initPop,,'maxGenTerm', 25, 'normGeomSelect',,['arithXover'],,'nonUnifMutation',);各部分的意思,特别是'normGeomSelect',,是用的什么选择法?网上说是函数实现归一化几何选择,我没有找到可供参考的东西,请讲解,谢谢!
页:
[1]