数学建模社区-数学中国
标题:
请教:这个错误是什么缘故?怎样修改?
[打印本页]
作者:
yulun9988
时间:
2014-1-14 00:39
标题:
请教:这个错误是什么缘故?怎样修改?
%源函数的matlab代码
3 H4 u% n, A. W
function [eval]=f(sol)
( r1 H9 ]/ m* C1 e- E7 e4 j
numv=size(sol,2);
: b$ R4 V- b2 K6 I
x=sol(1:numv);
* A, X! w! E; W/ q8 |2 C
eval=-20*exp(-0.2*sqrt(sum(x.^2)/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282;
3 p8 M' r* N6 A1 L: u" i& f
%适应度函数的matlab代码
' p- C! t1 |: m' @0 B' }
function [sol,eval]=fitness(sol,options)
. Q2 Q, o/ A& `! y C
numv=size(sol,2)-1;
( R5 i' i% n8 G5 ]8 y
x=sol(1:numv);
2 l$ a% T- c$ i' u b# ~! Q
eval=f(x);
+ A0 K4 \: A# f4 f
eval=-eval;
9 M4 m0 n* a5 ]; N" z, \
%遗传算法的matlab代码
6 ^" ~: j7 `5 J; {
bounds=ones(2,1)*[-5 5];
6 C1 E( Y/ n0 b* h- Q2 z& O
[p,endPop,bestSols,trace]=ga(bounds,'fitness')
" B6 k5 j) O4 D3 ^9 K+ G3 L
*************************************************
, L1 C+ n* Y7 A; {
bounds=ones(2,1)*[-5 5];
4 J- S7 j: ^3 ~/ l0 I
[p,endPop,bestSols,trace]=ga(bounds,'fitness')
6 \! {( F5 [9 A7 j
Error using ga (line 276)
+ Q# n8 w5 Z; X2 I4 Z3 U
Fitness function must be a function handle.
$ s7 C6 x' k$ W, O* y
3 C3 X2 }. U: f: Q! F
$ m: o+ w4 L; e; _( O! M3 c
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5