awoo 发表于 2007-6-11 21:11

向高手请教一个用遗传算法优化的问题.

先编写目标函数
   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==[]

不知道是怎么回事,小弟是新手,肯綮各位大侠指教,万分感激啊!

eight 发表于 2007-6-11 21:13

原帖由 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)

试试

awoo 发表于 2007-6-11 21:55

还是不行啊!
改过后,一运行出现
??? Error using ==> ==
Matrix dimensions must agree.

Error in ==> C:\MATLAB6p5p1\toolbox\遗传算法工具箱\Genetic Algorithms\GAOT\ga.m
On line 87==> if isempty(opts)

eight 发表于 2007-6-11 22:00

原帖由 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 的写法有关,另外,仔细看看该函数的输入格式是否与你的相符

awoo 发表于 2007-6-12 10:35

回复 #4 eight 的帖子

非常感谢,我搞清楚是什么问题了

wy558558558 发表于 2007-6-12 18:17

是不是加个转置就对了.我想是.
页: [1]
查看完整版本: 向高手请教一个用遗传算法优化的问题.