为什么fgoalattain内置函数不能在MATLAB中运行?

时间:2015-02-14 20:27:41

标签: matlab undefined

我试图在MATLAB中调用fgoalattain函数(用目标达成算法计算函数最小值)。根据文档,它应该是这样的:

[X,FVAL,ATTAINFACTOR] = FGOALATTAIN(@objf_1,x0,goal,weight)

其中@objf_1objf_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)

知道我怎么得到这个?

1 个答案:

答案 0 :(得分:2)

它不是内置功能。您需要安装Optimization toolbox