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 :

problème avec [fmincon]


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17
    Points : 18
    Points
    18
    Par défaut problème avec [fmincon]
    Bonjour, en fait je ne suis pas encore habitué à utiliser la fonction fmincon
    j'ai formulé mon problème comme il faut (ce que je pense ) mais matlab me revoit une erreur
    ??? Input argument "x" is undefined.
    merci de m'aider
    ma fonction objective est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    x = fmincon(@myfun,x0,Aeq,beq,lb,ub,nonlcon)
     
    function f = myfun(x)
    global p15  
     
    f(x)= sum (x./polyval(p15,x));
     
     
    function [c1,c2,ceq] = nonlcon(x)
    global n 
    for i=n+1:2*n
        c1 = -700- sum(x(n:i)+ polyval(poly15,x(n:i))); 
        c2 = sum(x(n:i)+ polyval(poly15,x(n:i)))-500;    
    end
    ceq = sum(x(n+1:2*n)+ polyval(poly15,x(n+1:2*n)));

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Ton erreur provient de la ligne d'appel de la fonction fmincon x = fmincon(@myfun,x0,Aeq,beq,lb,ub,@nonlcon)
    Ensuite, une remarque:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function f = myfun(x)
        global p15
        f(x)= sum (x./polyval(p15,x)); % À retirer: seulement  f = sum (x./polyval(p15,x));
    end
    Comportant une seule ligne, peut être remplacé par (ligne à mettre avant l'appel à fmincon) myfun = @(x) sum (x./polyval(p15,x)); évitant ainsi l'utilisation de p15 en global.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17
    Points : 18
    Points
    18
    Par défaut
    Merci pour votre réponse, mais il y a toujours des erreurs

    ??? Error using ==> fmincon at 229
    FMINCON only accepts inputs of data type double.
    
    Error in ==> test_sandra at 101
    x = fmincon(@myfun,x0,Aeq,beq,lb,ub,@nonlcon)
    et je pense que c'est dû aux contraintes non lineaires !!

  4. #4
    Invité
    Invité(e)
    Par défaut
    Pour pouvoir te répondre, il faudrait peut-être avoir le contenu des variables x0,Aeq,beq,lb et ub.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17
    Points : 18
    Points
    18
    Par défaut
    vous trouverez les valeurs demandées dans un fichier excel ci-joint, sachant que p15 et poly15 sont des polynomes :-)
    Fichiers attachés Fichiers attachés

  6. #6
    Invité
    Invité(e)
    Par défaut
    Tout compte fait non, désolé, un petit tour du côté de la doc de la fonction fmincon:
    L'appel contenant nonlcon est de la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)
    Comme tu l'appelles x = fmincon(myfun,x0,Aeq,beq,lb,ub,@nonlcon), MATLAB interprète
    Aeq comme A
    beq comme b
    lb comme Aeq
    ub comme beq
    @nonlcon comme lb % qui lui devrait être un double et non une fonction
    Il te faudra donc rajouter les arguments A et b.

Discussions similaires

  1. Problème avec fmincon
    Par Memboro dans le forum MATLAB
    Réponses: 12
    Dernier message: 09/04/2013, 20h00
  2. Problèmes avec fmincon ..
    Par hollowdeadoss dans le forum MATLAB
    Réponses: 2
    Dernier message: 02/02/2012, 15h49
  3. Problème avec fmincon
    Par XamamaX dans le forum MATLAB
    Réponses: 3
    Dernier message: 25/02/2011, 18h32
  4. [fmincon] Problème avec la fonction contrainte
    Par ENSAM-ALAMI dans le forum MATLAB
    Réponses: 0
    Dernier message: 24/04/2008, 11h32
  5. [fmincon] Problème avec des variables de classe Single
    Par Wassim123 dans le forum MATLAB
    Réponses: 5
    Dernier message: 11/10/2007, 17h01

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