Fonction d'optimisation

Résolu
Bonjour,
j'ai deux fichiers:Function [J] =myfunobj (v,a,b,mu)
Function [C,Ceq]=myfuncon(v,a,b)
je veux chercher le minimum avec :
[u]=fmincon(@myfunobj (v,a,b,mu),[],[],[],[],[],[],@myfuncon(v,a,b))
je fais comme ça mais je ne trouve pas une meilleur solution:svp aidez moi pour resoudre cette probleme et merci, je ne sais pas où la faute.

2 réponses

  1. Contributeur
    Es tu sur que la fonction peut fonctionner avec des argument vide ??? Il lui faut un point de départ au moins.
    1. Le post est vieux mais ma réponse servira peut-être à d'autres ;-)

      Je ne comprends pas comment tu utilises fmincon...
      Quel est le vecteur que tu veux optimiser parmi les 4 entrées de ta fonction?
      Les 4? Ce sont des scalaires?
      Si c'est le cas, réécris ta fonction pour qu'elle prenne en entrée un vecteur avec tes 4 données. Et dans ce cas, tu as juste à écrire
      fmincon(@myfunobj, x0, ...);

      x0 étant le vecteur initial qui est a priori proche de la solution.

      Ou au pire, passe par une fonction anonyme pour dispatcher tes paramètres mais c'est pas top:
      fmincon(@(x) myfunobj (x(1), x(2), x(3), x(4)), x0, ...)

      Et comme indiqué dans la réponse précédente, il faut lui donner un vecteur initial à fmincon.