Using fmincon and m-files
3 views (last 30 days)
Show older comments
Trying to minimize f(x,y)=x^4-x^2+y^2-2x+y
with linear inequality x+y <= 0 and nonlinear inequality x^2+y^2 <= 1
my code
========================================================
(in workspace)
objfun=@(x) x(1)^4-x(1)^2+x(2)^2-2*x(1)+x(2);
x0 = [1;-1];
[x,fval]=fmincon(objfun,x0,[1,1],0,[ ],[ ],[ ],[ ],'constraint')
(in m.file ...constraint.m)
function [c,ceq]=constraint(x)
c1=x(1)^2+x(2)^2-1;
ceq=[ ]
===========================================================
Running the code gives:
Warning: The default trust-region-reflective algorithm does not solve problems with the constraints you have specified. FMINCON will use the active-set algorithm instead. For information on applicable algorithms, see Choosing the Algorithm in the documentation.
> In fmincon at 486
Error using feval
Undefined function 'constaint' for input arguments of type 'double'.
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.
WHY IS THIS HAPPENING?!
0 Comments
Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!