找回密码
 注册
Simdroid-非首页
查看: 104|回复: 1

Matlab自带遗传算法工具箱的一个问题

[复制链接]
发表于 2009-10-23 19:51:03 | 显示全部楼层 |阅读模式 来自 大连理工大学
最近一直在用Matlab的遗传工具箱,今天出了个很奇怪的错误,不知道是什么原因。具体是这样的:
我写了一个适应度函数,有3个变量,在函数内分别定义为L,g,eb。在用ga调用的时候,算到某一个变量值时(几乎每次都是x=[1.7671 0.4294 9.1272]时,偶尔也有别的值),却总是出现以下错误:

??? Error using ==> makeState at 50
GA cannot continue because user supplied fitness function failed with the following error:
Undefined function or variable "g".

Error in ==> galincon at 18
state = makeState(GenomeLength,FitnessFcn,Iterate,output.problemtype,options);

Error in ==> ga at 289
        [x,fval,exitFlag,output,population,scores] = galincon(FitnessFcn,nvars, ...

Error in ==> opt_obj3 at 53
[qq,MinFval,exitflag]=ga(yyyy,3,[],[],[],[],[1.6,0.1,2.0],[2.2,0.5,10.0],[],options)

说是我提供的适应度函数错误,没有变量g
但实际上,如果我单独调用此适应度函数时,没有任何问题,可以算出适应度值。这是什么原因呢?而且不管是ga调用还是我自己赋值调用时,事实上g都被赋值(去掉分号可以输出g的值,显然应该定义了呀)并参与计算了。
多谢!
发表于 2009-10-23 20:36:07 | 显示全部楼层 来自 浙江杭州
Simdroid开发平台
你目标函数怎么定义的?
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-7 03:24 , Processed in 0.035551 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表