数学建模社区-数学中国

标题: 关于M文件调用的问题(续) [打印本页]

作者: hitman    时间: 2010-3-21 20:19
标题: 关于M文件调用的问题(续)
本帖最后由 hitman 于 2010-3-21 20:21 编辑

以下是书上关于简单一元函数优化实例的部分代码,在把遗传算法的M文件复制到当前文件夹后,在commander window中输入逐行输入如下:
>> figure(1);
>> fplot('variable.*sin(10*pi*variable)+2.0',[-1,2]);%画出函数曲线
>> %定义GA参数
>> NIND=40;%个体数目(number of individuals)
>> MAXGEN=25;%Maximum number of generations
>> PRECI=20;%变量的二进制位数(Precision of variables)
>> GGAP=0.9;%代沟(Geneartion gap)
>> trace=zeros(2,MAXGEN);%寻犹结果的初始值
>> FieldD=[20;-1;2;1;0;1;1];%区域描述器(build field descriptor)
>> Chrom=CRTBP(NIND,PRECI);%初始种群
Warning: Function call CRTBP invokes inexact match C:\MATLAB7\work\CRTBP.M.
Warning: Function call crtbase invokes inexact match C:\MATLAB7\work\CRTBASE.M.
> In CRTBP at 53
到了红色行就出错了,我用的是CRTBP,可是为何还是不匹配,难道是因为CRTBP中的crtbase和CRTBASE不匹配?那那我是不是要把GA的工具箱中的M文件的文件名都改成小写?谢各位指点。
补充一个问题,那如果调用的时候不匹配,最后是算调用,还是不调用呢?
作者: 厚积薄发    时间: 2010-3-21 20:40
出现这种情况,是因为你的M文件没在workspace中,也就是没在当前空间中,所以你需要把你crtbp调入workspace中,然后进行运行就可以了


注意你的调用的函数名字和目标M文件一致
作者: hitman    时间: 2010-3-22 10:04
回复 2# 厚积薄发


    有点糊涂了,我已经遗传算法工具箱的M文件复制到了C:\MATLAB7\work,而且current directory也是C:\MATLAB7\work。这样算放入workspace中了吗?
作者: 厚积薄发    时间: 2010-3-22 12:27
回复 3# hitman


    你要确保在你的current directory边侧框中有该文件!
作者: llllin    时间: 2010-4-6 21:27
搞不懂,等高手来指点吧!!!!!!
作者: 家家开水    时间: 2011-4-16 17:11
这样子的哇···




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5