MATLAB Answers

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

6 views (last 30 days)
Itachi
Itachi on 18 Aug 2012
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.

  0 Comments

Sign in to comment.

Accepted Answer

Elizabeth
Elizabeth on 18 Aug 2012
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.

  0 Comments

Sign in to comment.

More Answers (1)

Alan Weiss
Alan Weiss on 22 Aug 2012
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

  0 Comments

Sign in to comment.

Sign in to answer this question.


Translated by