马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
参考文献及百度上列举出来的遗传算法实例,将initializega.m和ga.m导入工作目录后,完全按文献上的程序写出函数为
function[sol,val]=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
[x endPop bpop trace]=ga([-1 2],'fitness',[],initPop,[1e-6 1 1],'maxGenTerm',80,'normGeomSelect',[0.1],['arithXover'],[2],'nonUnifMutation',[2 80 3]);
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
[x endPop bpop trace]=ga([-1 2],'fitness',[],initPop,[1e-6 1 1],'maxGenTerm',80,'normGeomSelect',[0.1],['arithXover'],[2],'nonUnifMutation',[2 80 3]);
首次接触遗传算法,请大家多多指教,谢谢 |