向高手请教一个用遗传算法优化的问题.
先编写目标函数function=fitness(sol,options)
x=sol(1);
eval=x+10*sin(5*x)+7*cos(4*x);
把上述函数存储为fitness.m文件并放在工作目录下
然后在命令窗口输入:
initPop=initializega(10,,'fitness');%生成初始种群,大小为10
=ga(,'fitness',[],initPop,,'maxGenTerm',25,'normGeomSelect',...
,['arithXover'],,'nonUnifMutation',) %25次遗传迭代
结果却显示:
??? Error using ==> ==
Matrix dimensions must agree.
Error in ==> C:\MATLAB6p5p1\toolbox\遗传算法工具箱\Genetic Algorithms\GAOT\ga.m
On line 87==> if opts==[]
不知道是怎么回事,小弟是新手,肯綮各位大侠指教,万分感激啊! 原帖由 awoo 于 2007-6-11 21:11 发表 http://www.chinavib.com/forum/images/common/back.gif
先编写目标函数
function=fitness(sol,options)
x=sol(1);
eval=x+10*sin(5*x)+7*cos(4*x);
把上述函数存储为fitness.m文件并放在工作目录下
然后在命令窗口输入: ...
if isempty(opts)
试试 还是不行啊!
改过后,一运行出现
??? Error using ==> ==
Matrix dimensions must agree.
Error in ==> C:\MATLAB6p5p1\toolbox\遗传算法工具箱\Genetic Algorithms\GAOT\ga.m
On line 87==> if isempty(opts) 原帖由 awoo 于 2007-6-11 21:55 发表 http://www.chinavib.com/forum/images/common/back.gif
还是不行啊!
改过后,一运行出现
??? Error using ==> ==
Matrix dimensions must agree.
Error in ==> C:\MATLAB6p5p1\toolbox\遗传算法工具箱\Genetic Algorithms\GAOT\ga.m
On line 87==> if isemp ...
自己调试一下吧,估计与工具箱函数 ga.m 的写法有关,另外,仔细看看该函数的输入格式是否与你的相符
回复 #4 eight 的帖子
非常感谢,我搞清楚是什么问题了 是不是加个转置就对了.我想是.
页:
[1]