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

Calcul scientifique Python Discussion :

Déterminer pour quelles valeurs on atteint un minimum


Sujet :

Calcul scientifique Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Déterminer pour quelles valeurs on atteint un minimum
    Bonjour,

    J'ai un programme permettant de calculer le minimum d'une fonction à 2 variables, mais pas à déterminer en quelles valeurs ce minimum est atteint.
    Si vous avez des idées je suis preneur.

    Bonne journée

  2. #2
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    comme la fonction min() par exemple ?

  3. #3
    Membre du Club
    Homme Profil pro
    Statistique
    Inscrit en
    Octobre 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Statistique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 33
    Points : 48
    Points
    48
    Par défaut
    Plutôt un "équivalent" de np.argmin() du coup. Sauf que np.argmin() c'est pour les listes. Ici florian veut optimiser des fonctions.

  4. #4
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    l'énoncé n'est pas très parlant, on ne sait pas quel est le "programme" en question qui permet de trouver la valeur minimum, ni si le PO a la main sur le code, ni même s'il est question de numpy...

    dans tous les cas, à part prendre un intervalle donné pour tester les valeurs de la fonction (et donc éventuellement en tirer une liste qu'on filerait à numpy.argmin()) je vois pas comment on peut faire

    donc ma solution, qui vaut ce qu'elle vaut, est d'utiliser le paramètre key de la fonction min() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> f = lambda (a, b): a**2 + 3*b - 50
    >>> min([f((a,b)) for b in range(-10,10) for a in range(-10,10)])
    -80
    >>> min([(a,b) for b in range(-10,10) for a in range(-10,10)], key=f)
    (0, -10)
    >>> f((0, -10))
    -80

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Nom : Sans titre.png
Affichages : 2808
Taille : 13,2 Ko
    Voici le programme qui calcule le minimum pour la fonction entrée, je vais essayer votre programme et vous dire si cela marche .
    Merci

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Pour ma fonction j'aimerais une précision à 0.01 et je n'ai pas réussi à régler le pas des boucles for a 0.01, si vous avez une solution je suis preneur.
    Bonne soirée

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Je ne sais pas si certains comprennent ta fonction mais il est de toutes façons préférable de faire un copier coller entre des balises code qu'une capture qui est d'ailleurs incomplète.

    La fonction est encombrée parce que tu transmets une liste en argument et que tu dois donc en extraire chaque élément.

    Crée plutôt une fonction qui prend x et y en argument, ne fut-ce que pour la clarté.

    Malgré les deux return qui se suivent sans raison, ta fonction ne fait que retourner directement le résultat d'un calcul sans te donner de liberté d'évaluer quoi que ce soit, donc pour ta question initiale, il n'y a aucune possibilité.

    Peut-être qu'en divisant l'algorithme en plusieurs parties ...

  8. #8
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    de ce que je lis de la fonction scipy.optimize.fmin() elle prend un éventuel paramètre full_output=True, affiche la valeur courante de la fonction et retourne au moins deux valeurs xopt et fopt respectivement le paramètre qui minimise la fonction et la valeur de la fonction à son minimum, le tout dans un nparray

    quant à la précision dont tu parles, est-ce que ça ne pourrait pas correspondre au paramètre ftol ?

    il semble néanmoins que Obofix avait vu juste, donc j'irais pas plus loin sur cette discussion ne connaissant pas {num,sci}py

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Oui, effectivement le 2ème return ne sert à rien j'essayais des trucs pour afficher mes valeurs mais sans succès, et la fonction ne présente pas grand intérêt, je connais son minimum mais je ne vois toujours pas comment trouver pour quelles valeurs il est atteint.
    Quand vous dites de diviser l'algorithme en plusieurs parties, je ne vois pas quelles sont les parties distinctes de l'algorithme
    ftol je ne sais pas comment on s'en sert, ,ni à quoi il sert.

Discussions similaires

  1. Quel processeur pour quelle utilisation? Intel ou AMD?
    Par netah25 dans le forum Composants
    Réponses: 296
    Dernier message: 17/09/2008, 16h46
  2. Quel resultat avec un group by pour plusieurs valeurs?
    Par sampq dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/12/2005, 12h08
  3. Réponses: 1
    Dernier message: 18/05/2005, 18h18
  4. [CR] Générer des espaces pour une valeur champ
    Par newpress dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 17/02/2005, 17h43
  5. Quel langage pour quelles applications ?
    Par Gwipi dans le forum Langages de programmation
    Réponses: 14
    Dernier message: 25/06/2004, 13h48

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