# definition of nonlincon in the fmincon function

6 views (last 30 days)
Itachi on 31 Aug 2012
Hi guys, I'm having trouble in defining the nonlincon when one of my nonlinear constraints is not the same size as the others. When I run the code it says error CAT argument. please how should I consider that? Thanks.
function [c ceq]=nonlincon(x)
c(1) = with m variabels x(1),..,x(m) : size[1,m]
c(2) = with n variables x(1),...,x(n) : size [1,n]
ceq=[]

Paul Kerr-Delworth on 31 Aug 2012
The c output in your nonlincon function should be a vector or matrix, where each element of c is less than zero.
In your case, you should just be able to change your current function (note that I've changed the notation in your second vector) from:
function [c ceq]=nonlincon(x)
c(1) = with m variabels x(1),..,x(m) : size[1,m]
c(2) = with n variables y(1),...,y(n) : size [1,n]
ceq=[]
to:
function [c ceq]=nonlincon(x)
% Return a 1-by-m+n vector containing the constraints in your
% original "c(1)" and "c(2)"
c = [x, y];
ceq=[]
Hope this helps.
Best regards,
Paul