%源函数的matlab代码! Z, c' k' S/ I. k
function [eval]=f(sol) & V- X7 B0 u+ `7 A* c3 q numv=size(sol,2); ' G* `! d8 O0 ]1 T0 @ x=sol(1:numv); " j+ X8 u3 Z# z' D eval=-20*exp(-0.2*sqrt(sum(x.^2)/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282;# _) v$ O$ G ] n- y+ Y+ I$ l4 V
%适应度函数的matlab代码 e, @; y$ }5 S- a' A1 f
function [sol,eval]=fitness(sol,options)1 |% I4 E+ o' N
numv=size(sol,2)-1; $ |7 a; K0 k$ E) Z/ n x=sol(1:numv); 3 U. G* C. F1 m/ l) N eval=f(x);" z; j9 q6 r4 T0 s" o, q
eval=-eval; ' S/ k5 q, o7 R %遗传算法的matlab代码. M, d. U# i3 c8 b' f3 ]# b
bounds=ones(2,1)*[-5 5];: j2 w+ D6 n" q: G
[p,endPop,bestSols,trace]=ga(bounds,'fitness') # n2 o9 U& @6 o3 e' Q************************************************* * @* s4 |8 P1 g2 j2 @ bounds=ones(2,1)*[-5 5];3 }: z1 L9 p, e- o
[p,endPop,bestSols,trace]=ga(bounds,'fitness')# u% ?' u* G; y3 `
Error using ga (line 276) 0 [0 ]4 Y8 v) o" q3 y+ f- eFitness function must be a function handle.4 m" B: N7 k$ Y$ D! c
! [7 Y/ ~8 b& w. e" Z
& W9 e; z( ~$ t