Matlab:复制和重命名函数出错

时间:2016-06-19 00:42:12

标签: matlab

我使用Matlab的ga()函数以下列方式进行参数优化:

options = gaoptimset('CrossoverFraction',0.8,'FitnessScalingFcn',@fitscalingrank,'TolFun',1e-6,...
                'Generations',50,'PopulationSize',20,'EliteCount',2);
minfn = @(z)myLossFunction(z);
[x,fval,~,output] = ga(minfn,8,[],[],[],[],LB,UB,[],1,options);

LB和UB只是具有变量下限和上限的矩阵。

以上代码效果很好。现在,我已经制作了ga()函数的本地副本并将其命名为ga2(),因为我想对它进行一些修改。现在我用以下方式调用它:

[x,fval,~,output] = ga2(minfn,8,[],[],[],[],LB,UB,[],1,options);

我还没有做任何修改,我只是将其重命名为ga2()。

现在我在ga2()的gaminlpvalidateoptions(options);电话的第295行收到以下错误:

  

未定义的功能' gaminlpvalidateoptions'输入参数   键入' struct'。

如果我发表评论,我会在第328行收到新错误:

  

未定义的功能' gacommon'对于类型的输入参数   ' function_handle'

为什么会这样,我该如何摆脱?我刚刚复制并重命名了ga()函数。

0 个答案:

没有答案