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 :

[fminbnd] Recherche de minimum global


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 31
    Points : 12
    Points
    12
    Par défaut [fminbnd] Recherche de minimum global
    Bonjour,

    J'ai l'impression que, contrairement à ce que je croyais, la fonction fminbnd ne cherche pas le minimum global d'une fonction sur un intervalle, mais un minimum local (j'ai fait l'essai avec sin(x)*x^2 sur [0;100]).
    N'y a t-il pas de possibilité (rapide si possible) de trouver un minimum global sur un intervalle?

    Merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 304
    Points : 52 881
    Points
    52 881
    Par défaut
    Citation Envoyé par documentation de FMINBND
    x = fminbnd(fun,x1,x2) returns a value x that is a local minimizer of the scalar valued function that is described in fun in the interval x1 < x < x2.
    Je ne suis pas un spécialiste de ce domaine mais une alternative (certainement peu robuste) pourrait être de faire de multiple appels à FMINBND :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    x = 0:100;
     
    foo = @(x)sin(x).*x.^2;
     
    [xmin,ymin] = fminbnd(foo,x(1),x(end));
     
    itmax = 100;
    k = 1;
    while k<itmax
     
        if any(foo(x)<ymin)
     
            idx = find(foo(x)<ymin,1,'first');
            [xmin,ymin] = fminbnd(foo,x(idx-1),x(idx+1));
     
        else
            break
        end
     
        k = k+1;
    end
     
    if k==itmax
        warning('Nombre d''itérations maximal atteint');
    end
     
    figure
    fplot(foo,[1 100])
    hold on
    plot(xmin,ymin,'r*')
    Mais je doute que cela soit si simple...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 37
    Points : 32
    Points
    32
    Par défaut
    Pareil, je ne suis pas spécialiste donc je vais peut-être dire une bêtise, mais si le minimum est global sur un intervalle, ça rentre dans les attributions de MIN non?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    x = 0:0.01:100;
    y = sin(x).*x.^2;
    [idx, idx] = min(y);
    % résultat :
    x(idx)
    Après ça ne marche pas pour une fonction, il faut donc choisir un pas judicieux, voire boucler pour affiner le résultat...

Discussions similaires

  1. pbk de requete sur 2 tables : recherche de minimum
    Par juzii dans le forum Langage SQL
    Réponses: 30
    Dernier message: 27/08/2008, 14h54
  2. Recherche de minimum global
    Par nini94 dans le forum MATLAB
    Réponses: 2
    Dernier message: 19/08/2008, 12h10
  3. Recherche du minimum d'une fonction sur un intervalle
    Par jschutz dans le forum Mathématiques
    Réponses: 6
    Dernier message: 18/03/2008, 14h25
  4. [Débutant] Recherche de minimum non nul dans une matrice
    Par sebastien69 dans le forum MATLAB
    Réponses: 2
    Dernier message: 05/06/2007, 16h00
  5. recherche du minimum dans un vector
    Par javamax dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 22/10/2006, 09h43

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