数学建模社区-数学中国
标题:
请教:这个错误是什么缘故?怎样修改?
[打印本页]
作者:
yulun9988
时间:
2014-1-14 00:39
标题:
请教:这个错误是什么缘故?怎样修改?
%源函数的matlab代码
* ~: T. l1 j T! K
function [eval]=f(sol)
4 W" B) d( S4 U! A! T8 e
numv=size(sol,2);
7 B$ R2 o. q6 Y7 A4 w0 n
x=sol(1:numv);
% Y/ |. @ d& K8 t- d
eval=-20*exp(-0.2*sqrt(sum(x.^2)/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282;
+ {4 d7 t! Y- D* O% Y! V" t- g
%适应度函数的matlab代码
% e8 i- p5 E" z3 n7 s. d# L+ W9 I" R. x
function [sol,eval]=fitness(sol,options)
2 J H8 _1 Z, k+ S" c4 x. D
numv=size(sol,2)-1;
3 L, P j; S( W) ?/ Y! O$ Z
x=sol(1:numv);
, ^ o0 m" u4 J
eval=f(x);
! C' s- ^- m5 s* J) i. N
eval=-eval;
$ H2 i8 g, ~: I( q' q
%遗传算法的matlab代码
, P: n0 x, v+ ^% @2 M
bounds=ones(2,1)*[-5 5];
- V& `" R q# m% |8 ]: C
[p,endPop,bestSols,trace]=ga(bounds,'fitness')
! }7 b6 s( i$ H, u# n
*************************************************
5 z3 q* h$ C, _* l/ X& G
bounds=ones(2,1)*[-5 5];
+ u# K. S7 ]1 }( U( L/ j! t
[p,endPop,bestSols,trace]=ga(bounds,'fitness')
0 b2 M1 b, h l5 E |6 o
Error using ga (line 276)
4 W- _ N( ~: d1 C
Fitness function must be a function handle.
. \- d: {0 Y* P' E4 r
2 U! v% Z; A/ s6 u# \
F) \& Q: w" b- l
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5