数学建模社区-数学中国

标题: 使用遗传算法遇到问题,求助! [打印本页]

作者: xiaoOMming    时间: 2013-8-23 10:54
标题: 使用遗传算法遇到问题,求助!
程序如下:
, Y4 e9 F' t$ N: y+ G" d( G%m文件/ ]( w0 y  n9 ~1 L8 s; W3 h
function eval=f(sol)4 u% i% p- _/ O7 x' x, Q# y
numv=size(sol,2);
" C% W8 [, S8 v: |x=sol(1:numv);
9 K- x' s7 {8 {( P! r" Z  keval=-20*exp(-0.2*sqrt(sum(x.^2/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282;% d- {" ^8 W! @7 E5 U" U/ x6 f
%m文件5 v7 Z  `- I8 A' u, ^. G
function[sol,eval]=fitness(sol,options): `. ~1 ~. J8 y4 J8 c$ L( G' n
numv=size(sol,2)-1;6 b6 N4 P+ v- Y/ B" L1 X$ ~1 J
x=sol(1:numv);0 ?; M8 N" A/ E7 e/ k7 s% M  Y' _+ q. N1 V
eval=f(x);7 J/ E. Y- z. d, c- N
eval=-eval;. M4 J7 x' p" R- D2 Q* {
%主程序
& j. @  d& G1 E& l5 T* Zclc,clear5 Q. b4 E& m) A) P# Z$ S
bounds=ones(2,1)*[-5 5];/ p# o! s3 q& R. V* f: ]
initPop=initializega(10,bounds,'fitness');
2 f+ u: e' F4 K/ Q$ |[p,endPop,bestSols]=ga(bounds,'fitness',[],initPop,[1e-6 0 0],'maxGenTerm',1000,'normGeomSelect',[0.08],['simpleXover'],[0.3],'binaryMutation',[0.1]);
& i- _/ u0 B$ S8 U% M( v5 A然后是出现的问题:Index exceeds matrix dimensions.
# S) M$ b$ M3 F0 n

4 \- [0 M5 t2 X6 n) x) pError in b2f (line 34)
+ s0 V, Q$ z5 T) L  a=bval((cs(i)+1):cs(i+1));: z! a! I0 T* T  P8 z

5 j! w5 h/ l& }3 L, t, o% q6 O
7 }; G( ?* w! [. k: P, p9 L" P
Error in ga (line 194)
2 V" C$ l% f: F  k: x0 f      bPop(bFoundIn,=[gen b2f(startPop(bindx,1:numVar),bounds,bits)...
9 I) Z4 h9 C' i, X. ?' v8 S2 F5 v
, @# B2 C2 j5 K7 h. ?9 N
Error in Untitled4 (line 4)
9 x5 \( M% w2 F  E6 T+ \[p,endPop,bestSols]=ga(bounds,'fitness',[],initPop,[1e-6 0 0],'maxGenTerm',1000,'normGeomSelect',[0.08],['arithXover'],[2 0;2 3;2 0],'nonUnifMutation',[2 25 3]);
% c. T6 g: q4 d# K" a9 x是我的工具箱有问题还是程序有问题,不懂求教大神 遗传工具箱.rar (102.67 KB, 下载次数: 0) 工具箱4 R5 @/ l! s4 H& ]5 N

, L1 v9 H2 c. B+ V




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5