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 :

Minimiser une fonction Symbolic Toolbox


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut Minimiser une fonction Symbolic Toolbox
    Comment on peut minimiser la fonction f en utilisant Symbolic Toolbox?


    Si on applie la commande solve ca nous donne la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    >> syms x a b
     
     f = a*x^2 - b*x;
     
     g = diff(f,'x');
     
     solve(g)
     
    ans =
     
    1/2*b/a
    Mon probleme c'est que je veux trouver le minimum ou maximum de cette fonction ( variable f).

    J'ai trouve ici la minimisation d'une fonction mais ca utilise Optimization Toolbox et ce n'est pas ce que je veux.

    http://www.mathworks.com/access/help...meta=&aq=f&oq=


    Donc il est possible de minimiser une fonction en utilisant Symbolic Toolbox? (c'est ca ma question)

    J'ai liste toutes les fonctions du Symbolic Toolbox avec la commande :

    Mais je ne sais pas quelle fonction applier et choisir


    J'ai trouve ici un bon tutoriel mais je ne suis pas sur si on peut faire la minimisation d'une fonction sur Symbolic Toolbox. Sur Optimization Toolbox je sais qu'il est possible de faire ca.

    http://www.ee.ucla.edu/~mohyee/downl...atlab%20II.pdf

    En esperant d'avoir expose clair mon souci.

    Donc ma question c'est:


    On peut minimiser une fonction a l'aide du Symbolic Toolbox?

    Si oui quelle fonction utiliser?

  2. #2
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    La réponse a été donnée là :
    http://www.mathworks.com/matlabcentr..._thread/256634

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    syms x a b
     
    f = a*x^2 - b*x;
     
    g = diff(f,'x');
     
    solve(g)

  3. #3
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut

    La réponse a été donnée là :
    http://www.mathworks.com/matlabcentr..._thread/256634
    A mon avis ce n'est pas necessaire ca....mais si tu le consideres

    J'ai pense a des fonctions fmin ou fmins mais en fait....j'attends d'autre idees si vous en avez.

    J'ai lu l'article d'ici:

    http://www.ee.ucla.edu/~mohyee/downl...atlab%20II.pdf

  4. #4
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Citation Envoyé par mihaispr Voir le message
    A mon avis ce n'est pas necessaire ca....mais si tu le consideres
    Qu'est-ce que tu n'estimes pas nécessaire ?

    Bon je n'avais pas vu que tu avais mis le code dans ton 1er post, pour cela je veux bien m'excuser.

    Ceci si Steven Lord "himself" dit que ce n'est pas possible je ne vois pas qui pourra te répondre.
    Si le posteur initial du message dit merci c'est qu'il a eu sa réponse.


    Le résultat donné par SOLVE est bien le minimum, non ?
    OK mes cours de math sont super loin mais les minimum/maximum d'une fonction se trouvent bien là où la dérivée est égale à 0 ?

  5. #5
    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
    Citation Envoyé par Caro-Line Voir le message
    OK mes cours de math sont super loin mais les minimum/maximum d'une fonction se trouvent bien là où la dérivée est égale à 0 ?
    Si la derive est >0 c'est le point de minimum( il me semble - les cours de maths sont aussi un peu loin comme tu as dis ) et le point du maximum c'est dans le cas contraire. (derive<0). J'espere de ne me pas tromper
    Effectivement, vos cours de maths semblent très loin!

    Moi aussi, mais je continue à faire entre autre des maths, donc j'ai jamais vraiment décroché...

    Bon dans le cas général, les extrema locaux se trouvent aux endroits où la dérivée s'annule et change de signe. Sans cette 2ème condition, le point trouvé n'est pas un extrema, mais un point d'inflexion (comme par exemple pour la fonction x^3 en 0 par exemple).

    Pour la fonction donné sur le FE, f=a*x^2-bx, il faut juste vérifier que la dérivée s'annule car c'est c'est une fonction du second degré et a>0, donc une propriété dit que son minimum se situe là ou la dérivée s'annule.
    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.

  6. #6
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut
    Oui c'est ca. Le resultat obtenu c'est en fait le minimum de la fonction.

    Si la derive est >0 c'est le point de minimum( il me semble - les cours de maths sont aussi un peu loin comme tu as dis ) et le point du maximum c'est dans le cas contraire. (derive<0). J'espere de ne me pas tromper


    Ok j'ai marque en tous cas comme resolu cette discussion.


    Merci caro!

    Amicalment,

    Michel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 26/04/2009, 22h58
  2. Minimiser une fonction
    Par drfell dans le forum MATLAB
    Réponses: 2
    Dernier message: 22/03/2009, 13h18
  3. Minimiser une fonction
    Par Lucas2 dans le forum Calcul scientifique
    Réponses: 3
    Dernier message: 20/01/2009, 22h56
  4. minimiser une fonction complexe
    Par ciliaz dans le forum MATLAB
    Réponses: 3
    Dernier message: 01/12/2008, 12h03
  5. Réponses: 8
    Dernier message: 07/04/2008, 12h02

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