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

Langage PHP Discussion :

PHP n'aime pas les maths


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 35
    Points : 33
    Points
    33
    Par défaut PHP n'aime pas les maths
    Bonjour à tous,

    Je cherche à calculer des résultats à une fonction un peu complexe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $exp  = (double)exp(-40/($x+1)^(3/2));
    J'ai un problème lors du calcul. Alors que la fonction est toujours définie (pas de division par zéro, de résultat infini etc.) PHP se perd et m'affiche des résultats erronés.

    Je pense que c'est l'exposant "3/2" qu'il n'aime pas. J'ai tenté de remuer cette fonction dans plusieurs sens, mais les résultats restent erronés. J'ai vu un truc sur la doc officielle, mais j'ai pas compris et les résultats restent faux.

    Y a-t-il un moyen simple d'éviter ces erreurs ?

    Merci,

    Alexis

  2. #2
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 373
    Points
    19 373
    Par défaut
    Bonjour,

    Il te manque peut-être des parenthèses ? La puissance est censée être sur -40 ou sur ($x+1) ?

  3. #3
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    En PHP, l'opérateur ^ est un opérateur de bits (qui est en fait XOR), voir http://www.php.net/manual/fr/languag...rs.bitwise.php

    Pour calculer une puissance, il faut utiliser pow.

    Ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var_dump( 2^2 ); // 0 car 10 XOR 10 = 00
    var_dump( pow(2,2) ); // 4
    Dans ton cas, ça donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $exp = (double)exp(pow(-40/($x+1), 3/2));

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

Discussions similaires

  1. IE n'aime pas les titles de la liste déroulante
    Par ozzmax dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 24/04/2007, 15h17
  2. Telnet n'aime pas les String ?
    Par Nasky dans le forum Développement
    Réponses: 4
    Dernier message: 02/03/2007, 13h57
  3. probleme avec requete sql aime pas les strings
    Par lil_jam63 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/02/2004, 14h45

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