"nonlincon" part of the "fmincon" function in the optimization toolbox

3 次查看(过去 30 天)
Hi guys, I want to create the "nonlincon' part of the "fmincon" function. I want to be able to call other variables in the nonlincon function like this:
function [c,ceq]=nonlincon(x,variable1,variable2,...,variableN)
but it gives this error:
Error in fmincon (line 681)
[ctmp,ceqtmp] = feval(confcn{3},X,varargin{:});
Caused by:
Failure in initial user-supplied nonlinear constraint function evaluation. FMINCON cannot
continue.
Please help me out, thanks in advance.

采纳的回答

Elizabeth
Elizabeth 2012-8-18
What if you globalize the variables that you want to define in the nonlcon function. You would write global variable1.. global variableN in both nonlcon and your main program.

更多回答(1 个)

Alan Weiss
Alan Weiss 2012-8-22
You will probably be happier in the long run if you include your extra variables in a function handle or nested function rather than as global variables. See the documentation on passing extra parameters.
Alan Weiss
MATLAB mathematical toolbox documentation

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by