Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2009-05-22
帖子: 4
声望力: 0 ![]() |
![]()
Griewangk函数的Matlab代码:
function [eval]=griewangk(sol) numv=size(sol,2); x=sol(1:numv); multi=1; for i=1:numv multi=multi*cos(x(i)/sqrt(i)); end eval=sun(x.^2/4000)-multi+1; 计算Griewangk函数适值的Matlab代码: function [sol,eval]=griewangkmin(sol,options) numv=size(sol,2)-1; x=sol(1:numv); eval=griewangk(x); eval=-eval; 遗传算法求解的Matlab代码: %维数n=6 %设置参数边界 bounds=ones(6,1)*[-512 512]; %遗传算法优化 [p,endPop,bestSols,trace]=ga(bounds,'griewangkmin'); %性能跟踪 plot(trace(:,1),trace(:,3),'b-') hold on plot(trace(:,1),trace(:,2),'r-') xlabel('Generation'); ylabel('Fittness'); legend('解的变化','种群平均值的变化'); 运行时提示: ??? Error using ==> ga at 238 Fitness function must be a function handle. 请高手帮忙看看是哪里出了问题,如何解决? 谢谢! |
![]() |
![]() |