我试图在MATLAB中调用fgoalattain
函数(用目标达成算法计算函数最小值)。根据文档,它应该是这样的:
[X,FVAL,ATTAINFACTOR] = FGOALATTAIN(@objf_1,x0,goal,weight)
其中@objf_1
是objf_1
m文件中定义的函数的函数句柄,其余的是我自己设置的一些参数。它们在任何情况下都不重要,因为显然MATLAB在该函数中存在问题,因为它抛出:
>> rospar_4
Undefined function 'fgoalattain' for input arguments of type 'function_handle'.
Error in rospar_4 (line 29)
[X,FVAL,ATTAINFACTOR] = fgoalattain(@objf_1,x0,goal,weight)
但是,我已经知道该函数在另一个MATLAB版本上工作正常--R2011b(我使用的是R2012b),但第一个参数为char
代替:
[X,FVAL,ATTAINFACTOR] = fgoalattain('objf_1',x0,goal,weight)
如果我尝试在我的中调用它,错误几乎相同:
>> rospar_4
Undefined function 'fgoalattain' for input arguments of type 'char'.
Error in rospar_4 (line 29)
[X,FVAL,ATTAINFACTOR] = fgoalattain('objf_1',x0,goal,weight)
知道我怎么得到这个?