Merci pour ta réponse si rapide.
Désolé par contre, je me suis rendu compte que je m'étais trompé sur ma condition (c.f. ci-dessous).
Par contre je ne comprends pas la partie suivante:
[x,fval] = fminsearch(@(x) maFonction(x,a),x0)
Ca veut dire que @(x) précise que l'optimisation de maFonction doit se faire sur la variable x ?
Donc je devrais faire quelque chose comme:
[a, fval] = fmincon(@(a) J(a,x,y),x0,options,[],[],[],[],[],[],@(a) nonlcon(a,x))
avec pour nonlcon:
1 2 3
| function [c,ceq] = nonlcon(a,x)
c = f(a).(x-a) + a^2/2 - x^2/2;
ceq = f(a).(x-a) + a^2/2 - x^2/2; |
Mais x n'est définie nul part, et si je demande à MATLAB de faire une boucle sur l'ensemble des réels je me doute bien que ca va planter. Mais comme ma condition se fait sur une droite (f(a).(x-a) + a^2/2) inférieure à une parabole, peut être que si je défini x = 0:10 par exemple ça marcherait ?
La je n'ai pas accès à MATLAB mais je testerai ça ce soir.
Partager