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 :

utilisation fonction log avec décimaux


Sujet :

Calcul scientifique Python

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut utilisation fonction log avec décimaux
    Bonjour,

    débutant en python, je n'arrive pas à contourner le pb suivant :

    la fonction log du module math n'accepte pas les nombre décimaux (0,5...).

    Auriez-vous une solution ?

    Merci

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Points : 923
    Points
    923
    Par défaut
    Tu entends quoi par "décimaux" ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> from math import log
    >>> log(0.5)
    -0.69314718055994529

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Et bien, cela ne fonctionne pas chez moi ...

    >>>from math import *
    >>>log(0,6)

    et ça me renvoi :

    log(0,6)
    OverflowError: math range error

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Ok, autant pour moi, va falloir que je me rentre dans le crane qu'on met pas de virgule dans le code...

    Merci !

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Par contre, je n'arrive pas utiliser cette fonction pour un ensemble de données.

    Je m'explique, je dois passer en log un ensemble de données, qui sont regroupées sous forme d'une chaine de caractère : xs.

    Je pensais donc faire une boucle, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for i in range (0,len(xs),1) :
        log(i)
    Mais la fonction log ne peut pas prendre autre chose que des flottants :

    TypeError: a float is required

    ... que faire ?

    Merci encore !

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Points : 923
    Points
    923
    Par défaut
    La fonction float permet de convertir des chaînes de caractères en flottants.
    Mais, comment tu stockes tes données dans ta chaîne xs ? J'ai du mal à comprendre ce que tu cherches à faire avec l'exemple que tu as donné.
    Si tu veux une aide plus ciblée, il faudrait au moins que tu décrives le format de tes données et le format de sortie.

    P.S.: range(0, n, 1) est équivalent à range(n)

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Je me mélange les pinceaux... =/

    Mais j'ai finalement après moult recherches réussi à faire ce que je voulais, et que je ne peux vous expliquer

    Merci bcp qd même !

  8. #8
    Membre éclairé
    Homme Profil pro
    Ingénieur R&D en apprentissage statistique
    Inscrit en
    Juin 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur R&D en apprentissage statistique

    Informations forums :
    Inscription : Juin 2009
    Messages : 447
    Points : 752
    Points
    752
    Par défaut
    ATTENTION : log(0.0) ça n'existe pas !!!!

    log(0.0) = -infini

Discussions similaires

  1. Utiliser fonction assembleur avec LD_PRELOAD
    Par YoshioToutou dans le forum x86 32-bits / 64-bits
    Réponses: 0
    Dernier message: 24/06/2012, 22h27
  2. utilisation fonction rank avec plage nommee
    Par doli100 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/04/2012, 14h56
  3. [Mail] erreur avec utilisation fonction mail
    Par taka10 dans le forum Langage
    Réponses: 7
    Dernier message: 12/07/2006, 16h19
  4. [WD10] Utiliser une fonction OpenGL avec pointeur (int)
    Par Zoons dans le forum WinDev
    Réponses: 3
    Dernier message: 06/07/2006, 16h38
  5. Réponses: 6
    Dernier message: 24/02/2005, 09h44

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