%源函数的matlab代码$ f* U. A& q3 {: l/ j7 x
function [eval]=f(sol)0 X; b* q9 u. V" A
numv=size(sol,2);+ {, N2 ^' v D
x=sol(1:numv);5 P, m( x" |. `1 j' U1 A( f
eval=-20*exp(-0.2*sqrt(sum(x.^2)/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282; : U# |7 Y" w0 u! D %适应度函数的matlab代码 9 S. w, b% g) r1 h+ X0 {6 B function [sol,eval]=fitness(sol,options)* D6 y0 d) u5 z/ z4 M, {
numv=size(sol,2)-1; Q7 K; Y& `( V
x=sol(1:numv);# m7 m' U; G1 T2 H4 ?1 j% b/ q
eval=f(x); - R8 m7 U9 N/ @4 ~2 X' V5 c5 p eval=-eval; . Q- O' T+ o0 F3 O %遗传算法的matlab代码 & H M, a! }3 {9 z bounds=ones(2,1)*[-5 5];1 Z" Z2 Y4 m7 x
[p,endPop,bestSols,trace]=ga(bounds,'fitness') : U9 i' {4 `% I/ N*************************************************. U" a7 C$ t) `; u
bounds=ones(2,1)*[-5 5];% `0 r0 b+ c6 Q$ s) \
[p,endPop,bestSols,trace]=ga(bounds,'fitness')- U: X+ O8 X b2 T9 F
Error using ga (line 276)4 h# f* V7 b& U" f K. m
Fitness function must be a function handle. / i/ \7 a9 I8 F1 A7 B; u6 _2 M) K; I t1 X9 M' j
. Y {; w9 X' y% V