数学建模社区-数学中国
标题:
请教:这个错误是什么缘故?怎样修改?
[打印本页]
作者:
yulun9988
时间:
2014-1-14 00:39
标题:
请教:这个错误是什么缘故?怎样修改?
%源函数的matlab代码
: S! q' _$ [1 `0 h$ M! o |
function [eval]=f(sol)
, n6 L3 z0 v8 A, Z
numv=size(sol,2);
" W* {3 a2 ~3 d/ Z g$ {
x=sol(1:numv);
" I) e0 y( d# l: @: b9 a8 W
eval=-20*exp(-0.2*sqrt(sum(x.^2)/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282;
) p9 }+ Y( R- Z7 e* |2 K4 [
%适应度函数的matlab代码
( Z* V6 J, Z+ c. n
function [sol,eval]=fitness(sol,options)
- X" Q7 l4 F0 S+ _" v; Q
numv=size(sol,2)-1;
! j K2 k: B- K' P
x=sol(1:numv);
) @5 R/ G$ V9 P# a7 M
eval=f(x);
8 p5 B9 C! }' A# d
eval=-eval;
8 N6 z: T! ?, J/ ~( k
%遗传算法的matlab代码
8 M0 Z' u. J! y( F$ S/ ?$ b
bounds=ones(2,1)*[-5 5];
( A ]2 E" y/ o9 C# [- Q6 J' V9 `% `0 }/ ]
[p,endPop,bestSols,trace]=ga(bounds,'fitness')
9 u+ [9 m3 P$ ~7 s% ~5 R$ l* c
*************************************************
6 S* d. Y' |; D$ W: B( c
bounds=ones(2,1)*[-5 5];
8 a. E' f# c/ H& D1 D
[p,endPop,bestSols,trace]=ga(bounds,'fitness')
1 a; Q) z& Q( ]3 m$ S. _, O6 @
Error using ga (line 276)
" ~% k3 k! s1 Z: H; u6 X9 @2 F
Fitness function must be a function handle.
. w6 n/ ]0 c' R% I+ X
6 `" E, x1 T7 ]% w; X; X5 a6 g
' [3 I0 {. o: }/ B! F1 w ^! |% z
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5