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

91 Ansichten (letzte 30 Tage)
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!

Akzeptierte Antwort

Torsten
Torsten am 15 Apr. 2016
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.

Weitere Antworten (1)

amin ghorbanpour
amin ghorbanpour am 20 Nov. 2018
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!

Community Treasure Hunt

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

Start Hunting!

Translated by