fmincon function with two non-linear constraints
11 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
hi all, I am trying to use the fmincon function to optimise a function with two non-linear constraints. The cost function is
for n = 1:N
e = e + (norm(x(:, n) - o - dot(x(:, n), a)*a) - r)^2
end
where x is 3 by N matrix, o and a are three-dimension vectors and r is a scalar.
There are two constraints used
dot(a, o) == 0
norm(a) == 1
Can I use fmincon with two non-linear equal constraints? I saw the constraint function should contain a equal and non-equal constraints. How can I write the constraint function for my case?
Thank you
0 commentaires
Réponses (1)
Matt J
le 18 Déc 2014
Modifié(e) : Matt J
le 18 Déc 2014
Only one of your constraints is nonlinear. You could write it like so,
function [c,ceq]=nonlcon(a)
c=[];
ceq=norm(a)^2-1;
end
Your objective function is non-differentiable, however. You'll probably have to use instead
e = e + (norm(x(:, n) - o - dot(x(:, n), a)*a)^2 - r^2)^2
3 commentaires
Voir également
Catégories
En savoir plus sur Nonlinear Optimization dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!