IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Utilisation de fmincon pour la minimisation


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 6
    Par défaut Utilisation de fmincon pour la minimisation
    Bonjour à tous

    je travaille sur un projet de commande en temps réel d'un procédé, il utilise la fonction prédéfinie de Matlab fmincon ,
    j'ai trouvé un problème d'utilisation de cette fonction, en faite j'utilise cette
    fonction pour minimiser un critère pour enfin appliquer la valeur au système réel
    j'ai écris ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     U1=myfun(A,lamda,Nu,Ypast,Yr,AC,BC);
    où myfun est une fonction que j'ai la crée pour faire la minimisation
    code de myfun:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function f=myfun(A,lamda,Nu,Ypast,Yr,AC,BC)
    f=fmincon(@equation,0.1*ones(Nu,1),AC,BC)
        function y=equation(x)
            trans=x'*(A'*A+lamda*eye(Nu))*x+(Yr-Ypast)'*A*x+x'*A'*(Yr-Ypast)+(Yr-Ypast)'*(Yr-Ypast);
            y=trans(1);
        end
    end
    la solution de minimisation n'est pas logique car le système diverge.
    ce comme si la minimisation ne tient pas compte de critère car elle donne toujours la borne inf comme solution.

    Merci je vous attend par impatience, je vraiment besoin de ça.

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    Bonjour,

    Citation Envoyé par mansour006 Voir le message
    la solution de minimisation n'est pas logique car le système diverge.
    ce comme si la minimisation ne tient pas compte de critère car elle donne toujours la borne inf comme solution.
    Es-tu sûr que la solution se trouve dans les bornes que tu lui mets en entrées?
    As-tu vérifier ta fonction equation?
    Comment choisis-tu l'initialisation?
    As-tu essayé de modifier les options (avec optimset)? Notamment le display à chaque itération pour voir comment se comporte l'algorithme?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 6
    Par défaut
    Bonjour

    la minimisation sans contrainte donne des valeurs entre 1 et 3*consigne
    mon programme doit limiter la commande appliquer au système pour éviter la saturation des actionneurs, la logique dit alors qu'on doit trouver des valeurs proches des autres mais avec une limitation au voisinage de 10
    j'ai essayé aussi de changer les options, l'erreur que le trouve toujours est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Optimization terminated: first-order optimality measure less
     than options.TolFun and maximum constraint violation is less
     than options.TolCon.
    Active inequalities (to within options.TolCon = 1e-006):
    je demande si quelqu'un possède un doc en français sur le principe de fmincon?

    j'en ai vraiment besoin
    Merci

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    Ce n'est pas un message d'erreur, c'est juste un message pour dire pour quelle raison l'algorithme s'est arrêté.

    Sinon, non, désolé je ne connais pas de doc en français sur le principe de fmincon.

    Et sans avoir toute les données, ça va être difficile de t'aider.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

Discussions similaires

  1. [XSL] utiliser une variable pour nom d'élément
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 13
    Dernier message: 07/09/2004, 13h58
  2. Utilisation de CASCADE pour mise à jour
    Par fuelcontact dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/08/2004, 08h49
  3. utilisation du mid pour tester le début d'un champ
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 09/07/2004, 13h10
  4. Réponses: 36
    Dernier message: 13/05/2004, 18h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo