How to define multiple nonlinear inequality constraints for 'fmincon'?

조회 수: 91 (최근 30일)
Li Yang
Li Yang 2016년 4월 15일
댓글: Ertugrul Bayir 2023년 4월 5일
Hello, I have a question about defining nonlinear inequality constraints for 'fmincon' function. With the example in document, it seems there can only be 1 equality and 1 inequality constraint
function [c,ceq] = circlecon(x)
c = (x(1)-1/3)^2 + (x(2)-1/3)^2 - (1/3)^2;
ceq = [];
end
What if I have no nonlinear equality constraint but have multiple nonlinear inequality constraints? Could anyone help me on this ? Thank you!

채택된 답변

Torsten
Torsten 2016년 4월 15일
function [c,ceq] = circlecon(x)
c(1) = (x(1)-1/3)^2 + (x(2)-1/3)^2 - (1/3)^2;
c(2) = ...;
c(3) = ...;
...
ceq = [];
end
Best wishes
Torsten.

추가 답변 (1개)

amin ghorbanpour
amin ghorbanpour 2018년 11월 20일
You can stack them all in one matrix:
c = []
function [c,ceq] = FUNCTION(x)
for i= 1:N % N is the number if iterations! your states for example
c1 = f(x(i));
c = [c c1];
end
ceq = [];
end
Good luck!

카테고리

Help CenterFile Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by