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

3 vues (au cours des 30 derniers jours)
Itachi
Itachi le 18 Août 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.

Réponse acceptée

Elizabeth
Elizabeth le 18 Août 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.

Plus de réponses (1)

Alan Weiss
Alan Weiss le 22 Août 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

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by