# define nonlcon in fmincon

72 ビュー (過去 30 日間)
Marc Laub 2022 年 5 月 19 日

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

サインインしてコメントする。

### 採用された回答

Catalytic 2022 年 5 月 19 日

function [c, ceq] = mycon(x)
ceq=[];
c(1) = -nonlinearfunction1 % Compute nonlinear inequalities at x.
c(2)
c(3)
c(4)
end

サインインしてコメントする。

### カテゴリ

Help Center および File ExchangeSolver Outputs and Iterative Display についてさらに検索

R2020b

### Community Treasure Hunt

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

Start Hunting!

Translated by