Filter löschen
Filter löschen

How does fmincon works? Changing not binding restrictions changes the result

3 Ansichten (letzte 30 Tage)
Javier
Javier am 4 Dez. 2013
Bearbeitet: Matt J am 4 Dez. 2013
Hello.
I am working with the function fmincon and I have noticed that changing a restriction can alter the result even when this restriction is not binding.
For example, I am using the code
[theta] = fmincon('gmmsimobj2',theta0,[0 -5 -1],[0],[],[],[0.001 -1 0],[1 0 1],[],foptions,simfunc,e,sp,beta,momfunc,y,mp,alg,W);
Which gives me a result of theta=[0.0177 0 6.8070e-005].
Then I change some restrictions that were not binding before
[theta] = fmincon('gmmsimobj2',theta0,[0 -5 -1],[0],[],[],[0.001 -inf 0],[inf 0 inf],[],foptions,simfunc,e,sp,beta,momfunc,y,mp,alg,W);
This gives a result of theta=[0.0148 -7.7908e-004 0.0039], which in fact was a possible answer in the last excercise (it did not violate any of the previous restrictions).
Could you tell me why the result changes? I do not know exactly how this function works. How can these changes in the restrictions affect the result?
Thank you! Javier
  1 Kommentar
Matt J
Matt J am 4 Dez. 2013
Bearbeitet: Matt J am 4 Dez. 2013
You should ALWAYS call fmincon with at least 4 output arguments
[theta,fval,exitflag,output] = fmincon(...)
When you do, what are the values of the out arguments in each case?

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by