2015-02-14 3 views
1

Я пытаюсь вызвать функцию fgoalattain (вычисляя минимум функции с алгоритмом достижения цели) в MATLAB. Согласно документации, она должна выглядеть следующим образом:Почему функция fgoalattain не работает в MATLAB?

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

где @objf_1 функция ручки для функции, определенной в objf_1 м-файл, а остальные являются некоторые аргументы, которые я установить самостоятельно. Они не важны в любом случае, так как очевидно, 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) 

Любая идея, как я получаю это?

ответ

2

Это не встроенная функция. Вам необходимо установить Optimization toolbox.

+0

Это не так. Я не знаю, как я мог упустить этот простой факт, спасибо! –