数学建模社区-数学中国
标题:
请教:这个错误是什么缘故?怎样修改?
[打印本页]
作者:
yulun9988
时间:
2014-1-14 00:39
标题:
请教:这个错误是什么缘故?怎样修改?
%源函数的matlab代码
4 i6 c- H0 H. z% i1 W8 J
function [eval]=f(sol)
" l5 }% }8 M2 w4 C; O+ x+ S/ R
numv=size(sol,2);
" J0 p7 b% i, I6 n( x: j9 V+ j
x=sol(1:numv);
, L: Q" Q i6 j4 d
eval=-20*exp(-0.2*sqrt(sum(x.^2)/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282;
& b) }- F; b; U( [, W
%适应度函数的matlab代码
8 E+ f9 R# M, |' i. E+ k C7 J
function [sol,eval]=fitness(sol,options)
7 s( ?* W7 F0 E3 ^0 E
numv=size(sol,2)-1;
9 H# ]- X, c8 M" L9 U
x=sol(1:numv);
% n8 J' Y* |8 K7 g3 A
eval=f(x);
' p/ p5 ?$ D0 S- F* F2 Z5 z
eval=-eval;
) @' S- b. a7 L6 f
%遗传算法的matlab代码
& [! h9 X' J# }% v# w3 P
bounds=ones(2,1)*[-5 5];
7 _* i# h" K8 `+ a# }
[p,endPop,bestSols,trace]=ga(bounds,'fitness')
+ W: `3 o( g# F3 \5 u; k
*************************************************
* i% _7 I' V' a# _0 i# x9 r5 e
bounds=ones(2,1)*[-5 5];
+ @9 Y/ q; Q4 a8 F8 f3 H
[p,endPop,bestSols,trace]=ga(bounds,'fitness')
: y4 _7 ]' C; ]9 T+ j* C
Error using ga (line 276)
/ B" F1 F: o3 P
Fitness function must be a function handle.
' O& o5 l: }, g, A) F# E/ [
/ w3 m7 a$ {# ?
; T8 F% E' c6 j8 o' w
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5