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

C Discussion :

argmin & argmax


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 13
    Points : 10
    Points
    10
    Par défaut argmin & argmax
    Bonjour,

    J'essaye de traduire un algorithme en language C mais je rencontre dans mon algorithme argmin et argmax...Je ne sais pas trop comment traduire ceci...Si quelqu'un peut m'aider, merci.

  2. #2
    Membre régulier Avatar de acryline
    Profil pro
    Inscrit en
    Août 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 200
    Points : 101
    Points
    101
    Par défaut
    argmin et argmax sont dans un bateau ...


    Ceci est une réponse de non pro très ancienne matheuse mais on ne sait jamais ..... ce matin j'ai envie de répondre à des questions

    On pourrait voir l'algorithme ? à quoi correspondent argmin et argmax ?

    argmin = la valeur de la variable pour laquelle la valeur de la fonction concernée atteint son minimum.
    argmax = la valeur de la variable pour laquelle la valeur de la fonction concernée atteint son maximum .

    C'est bien ça ?

    Et bien si tu as une fonction maFonction par exemple et une variable x on a (d'après ce que je me rapelle)
    y=maFonction(x);

    On veut définir argmax et argmin sur un certain espace ( de x0 à xn) --> là faut voir si la fonction a des limites. Donc je dirais:

    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
     
    void limitesY(long *p_argmin, long *p_argmax)
    {
    long x=0,y=0;
    long  x0=-50,xn=+50; //pour l'intervalle de la fonction
     
      *p_argmin=maFonction(x0);
      *p_argmax=maFonction(x0);
     
    for (x=x0+1;x<xn+1;x++)
       {
           y=maFonction(x);
          if( *p_argmin>y) *p_argmin=y;
          if( *p_argmax<y) *p_argmax=y;
       }
          printf("argmin =%ld   argmax=%ld",*p_argmin,*p_argmax);
    }
    Bon, j'ai peut être fait des erreurs mais le raisonnement peut ressembler à ça ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Merci pour votre réponse. Mais je vous passe cet algorithme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    entrée : s(u); u=1,...,U
    
    début
          tant que la somme de s(u) > N faire
                  w = arg min s(u)               
                 s(w) = 0
           fin faire
    fin
    comment je peux traduire ça et surtout arg min ???

  4. #4
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    Si tu travailles avec des complexe c'est peut être l'argument ?

  5. #5
    Membre habitué Avatar de emprex
    Homme Profil pro
    auto-entrepreneur
    Inscrit en
    Octobre 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : auto-entrepreneur
    Secteur : Services à domicile

    Informations forums :
    Inscription : Octobre 2007
    Messages : 219
    Points : 199
    Points
    199
    Par défaut
    Citation Envoyé par poitou86 Voir le message
    Merci pour votre réponse. Mais je vous passe cet algorithme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    entrée : s(u); u=1,...,U
    
    début
          tant que la somme de s(u) > N faire
                  w = arg min s(u)               
                 s(w) = 0
           fin faire
    fin
    comment je peux traduire ça et surtout arg min ???
    Il faudrait qu'on voit la suite. d'une manière générale il s'agit de l'ensemble des solutions de S.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Points : 4
    Points
    4
    Par défaut
    D'après l'algorithme, il s'agit de mettre à zéro les plus petit éléments de la suite jusqu'à ce que la somme ne dépasse plus N.

    argmin recherchera l'index correspondant à la valeur minimale non nulle de s(u)...

    L'implémentation de acryline, avec une toute petite modification, convient donc.

    if (( *p_argmin>y) && (y != 0)) *p_argmin=y;

Discussions similaires

  1. programmer argmax ou argmin
    Par poitou86 dans le forum C++
    Réponses: 1
    Dernier message: 15/05/2008, 14h29

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