新人求教一个遗传算法的问题
程序如下:%m文件
function eval=f(sol)
numv=size(sol,2);
x=sol(1:numv);
eval=-20*exp(-0.2*sqrt(sum(x.^2/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282;
%m文件
function=fitness(sol,options)
numv=size(sol,2)-1;
x=sol(1:numv);
eval=f(x);
eval=-eval;
%主程序
clc,clear
bounds=ones(2,1)*[-5 5];
initPop=initializega(10,bounds,'fitness');
=ga(bounds,'fitness',[],initPop,,'maxGenTerm',1000,'normGeomSelect',,['simpleXover'],,'binaryMutation',);
然后是出现的问题:Index exceeds matrix dimensions.
Error in b2f (line 34)
a=bval((cs(i)+1):cs(i+1));
Error in ga (line 194)
bPop(bFoundIn,:)=
Error in Untitled4 (line 4)
=ga(bounds,'fitness',[],initPop,,'maxGenTerm',1000,'normGeomSelect',,['arithXover'],,'nonUnifMutation',);
是我的工具箱有问题还是程序有问题,不懂求教大神
自己顶一下
你的矩阵维数不互相匹配,仔细检查下每个矩阵之间的计算是否符合维度要求。 magic2728 发表于 2013-8-22 19:37 static/image/common/back.gif
你的矩阵维数不互相匹配,仔细检查下每个矩阵之间的计算是否符合维度要求。
是知道是这个问题,但是不知道怎么改,是这个程序要改,还是工具箱里的程序要改? 你去看一个个变量的维数,自然就会了。 magic2728 发表于 2013-8-22 22:39 static/image/common/back.gif
你去看一个个变量的维数,自然就会了。
找不到问题出在哪里。。
能否请你帮忙运行一下,提示一下错误,拜托:) initializega这个函数是安装了什么工具箱?我这里没有 madio 发表于 2013-8-23 03:52 static/image/common/back.gif
initializega这个函数是安装了什么工具箱?我这里没有
就是这个
页:
[1]