- 在线时间
- 61 小时
- 最后登录
- 2013-10-7
- 注册时间
- 2013-4-11
- 听众数
- 8
- 收听数
- 0
- 能力
- 0 分
- 体力
- 766 点
- 威望
- 0 点
- 阅读权限
- 30
- 积分
- 284
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 105
- 主题
- 5
- 精华
- 0
- 分享
- 0
- 好友
- 14
升级   92% TA的每日心情 | 慵懒 2013-10-7 08:58 |
---|
签到天数: 71 天 [LV.6]常住居民II
- 自我介绍
- 大二数学专业
 群组: LINGO 群组: Matlab讨论组 群组: 2013年国赛赛前培训 |
程序如下:- W: X& V/ B9 v- ~& ] b& k
%m文件# V, f" O; {. x( d; g% u) L+ E
function eval=f(sol)
2 M5 L+ M0 c; c" A, V! `numv=size(sol,2);8 n9 |+ B# w* h* d% M# x
x=sol(1:numv);
7 T# s m3 b8 ]7 T9 Neval=-20*exp(-0.2*sqrt(sum(x.^2/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282;
4 A; v7 a$ _' `* H9 ^%m文件- J0 U% G( ]: M% G2 U
function[sol,eval]=fitness(sol,options)) U) t `+ }8 d, `8 u2 P/ ?0 D
numv=size(sol,2)-1;
1 Y: m) x* {- px=sol(1:numv);/ \. S( u v. d ?
eval=f(x);
+ k, W3 r1 e: K& S3 Neval=-eval;4 {8 \" D2 I5 O& z
%主程序* l3 H" u2 `' L; \
clc,clear: D1 q# D/ D3 [( i
bounds=ones(2,1)*[-5 5];4 n( l7 E0 W( J9 n0 i8 K
initPop=initializega(10,bounds,'fitness');
* G2 W0 V# o" g5 Q, K h[p,endPop,bestSols]=ga(bounds,'fitness',[],initPop,[1e-6 0 0],'maxGenTerm',1000,'normGeomSelect',[0.08],['simpleXover'],[0.3],'binaryMutation',[0.1]);2 e9 d7 P8 [1 r7 D1 Y' p
然后是出现的问题:Index exceeds matrix dimensions.
; e* y$ i* H8 a8 x h" z1 @' B* L0 @- [+ J! V; e8 ^) F4 n0 ~- u' w7 S
Error in b2f (line 34)1 T/ a9 H% b9 ^8 M
a=bval((cs(i)+1):cs(i+1));
& L# D3 K5 X$ S
8 ~, h2 t# w# G" V# ]5 f2 P3 p: \0 u8 i% |. g
Error in ga (line 194)
: n( I9 L4 W' c8 j. z' L bPop(bFoundIn, =[gen b2f(startPop(bindx,1:numVar),bounds,bits)...) W) c* M1 i' m P; f' W! R
3 m2 F& K& K; T4 K0 l0 u# P
. t. [) C+ u. O/ v8 I7 g2 VError in Untitled4 (line 4)
5 Q6 ^' o% a6 e" y1 O[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]);6 Q3 Y- r) H S1 _' N
是我的工具箱有问题还是程序有问题,不懂求教大神
遗传工具箱.rar
(102.67 KB, 下载次数: 0)
工具箱
: Z$ C- l' O. `
* C2 O" o4 l: Y `& b- n |
zan
|