数学建模社区-数学中国

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

作者: xiaoOMming    时间: 2013-8-23 10:54
标题: 使用遗传算法遇到问题,求助!
程序如下:8 ]/ z. @6 x0 \% ]" h
%m文件0 p8 s" @% p  U6 W/ {/ K
function eval=f(sol)
# K/ F& A+ y2 c0 u3 ~numv=size(sol,2);
' R0 Q' ?" O; c0 d1 bx=sol(1:numv);
% u9 n( n3 p  J, Teval=-20*exp(-0.2*sqrt(sum(x.^2/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282;$ G1 q2 I! k6 I; Z+ t
%m文件
8 o- |9 ~  |$ Q4 A9 Ofunction[sol,eval]=fitness(sol,options)$ k) F: H) B. {* F! h6 F
numv=size(sol,2)-1;
  l4 `" w- g0 A( d- Cx=sol(1:numv);
3 ~  j, O4 H) w7 h, l0 xeval=f(x);& \0 I3 }0 q8 m2 K. U% J' l- z
eval=-eval;- B1 g" c$ n0 W4 v3 V; b
%主程序
( h& `5 A9 U: _2 r7 K( H) W2 Lclc,clear4 P# L, {' z7 C: N- [8 o+ B( X
bounds=ones(2,1)*[-5 5];
. b4 U9 _- O# _& M% k) g* iinitPop=initializega(10,bounds,'fitness');
0 m$ q3 L6 R; `* J9 p5 E[p,endPop,bestSols]=ga(bounds,'fitness',[],initPop,[1e-6 0 0],'maxGenTerm',1000,'normGeomSelect',[0.08],['simpleXover'],[0.3],'binaryMutation',[0.1]);$ p( @: @# E5 j% B
然后是出现的问题:Index exceeds matrix dimensions.5 |% J) R# S8 ]1 v7 n

5 O$ l& A' V1 _' jError in b2f (line 34)
/ w% `  n: d+ N3 b. R; x+ p  a=bval((cs(i)+1):cs(i+1));
, _8 X$ A- D3 E2 t
0 o; B) g0 A3 ]9 I7 Y/ [
) s5 `: V0 O$ r' l8 l; j7 I. d
Error in ga (line 194)8 |$ @% O2 I- ~8 Z
      bPop(bFoundIn,=[gen b2f(startPop(bindx,1:numVar),bounds,bits)...2 u! R$ ~0 j3 J& f1 a+ m$ c

6 j3 S- e1 A- @% A% S8 H6 k4 L
% V! U* T; |, g4 y( G
Error in Untitled4 (line 4)% f+ j6 [0 x; q6 _! q6 E
[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]);  v! I( I! D( G/ B8 ^# ^/ @" k
是我的工具箱有问题还是程序有问题,不懂求教大神 遗传工具箱.rar (102.67 KB, 下载次数: 0) 工具箱
' i4 T& P# W, d2 z
: G5 X: j" P% U! u  T




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