Azzera filtri
Azzera filtri

definition of nonlincon in the fmincon function

4 visualizzazioni (ultimi 30 giorni)
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=[]

Risposta accettata

Paul Kerr-Delworth
Paul Kerr-Delworth il 31 Ago 2012
Hi Mohammad,
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

Più risposte (0)

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by