define nonlcon in fmincon

Hey,
I am trying to finc the minimum of a 4 variable equation using fmincon. Looking at the solution fmincon presents and saw that I gorgot to implement some nonlinear side conditions.
Normly those would be implemented via "nonlcon".
So I am not sure since I have noot found anything about tht in a documentary:
-how many nonlcon can I implement? Just 1? I would need 4...
- would those be implemented by
x = fmincon(@myfun,x0,A,b,Aeq,beq,lb,ub,@mycon1,@mycon2,..)
or like
x = fmincon(@myfun,x0,A,b,Aeq,beq,lb,ub,@mycon)
where @mycon is a normal function with 4 outputs like
function [c1,c2,c3,c4] = mycon(x)
c1 = nonlinearfunction1 % Compute nonlinear inequalities at x.
c2
c3
c4
end
Last but not least.
inequalities in the conditions have always the form <=. So if c1 needs to be c1>=0 at x i would just write it as
c1=(theoretical max of nonlinearfunction1)-nonlinearfunction1
?
Many thanks in advance and best regards

 Accepted Answer

Catalytic
Catalytic on 19 May 2022
Edited: Catalytic on 19 May 2022
function [c, ceq] = mycon(x)
ceq=[];
c(1) = -nonlinearfunction1 % Compute nonlinear inequalities at x.
c(2)
c(3)
c(4)
end

More Answers (0)

Products

Release

R2020b

Asked:

on 19 May 2022

Edited:

on 19 May 2022

Community Treasure Hunt

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

Start Hunting!