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

avec Java Discussion :

[débutant]problème pour calculer une exponentielle


Sujet :

avec Java

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 301
    Points : 75
    Points
    75
    Par défaut [débutant]problème pour calculer une exponentielle
    Bonjour,

    je voudrais pouvoir calculer l'exponentielle de 6147741.369357567;

    mais quand je fais : Math.exp(6147741.369357567) ca me met infinity ...

    comment faire pour calculer cela ?

    Merci de votre aide

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    La capacité maximale du double est dépassée.
    Tu peux utiliser un java.math.BigDecimal. Mais pourquoi cherches-tu une valeur aussi grande ? N'y aurait-il pas moyen de simplifier ton équation d'abord (si tu cherches à résoudre une équation) ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 301
    Points : 75
    Points
    75
    Par défaut
    Tout d'abord merci pour ta réponse.

    Non je ne peux pas simplifier ce nombre. Il me faut calculer l'exponentielle de ce nombre.

    Peux tu m'expliquer comment utiliser la class BigDecimal ?

    Merci

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Par curiosité, à quoi va te servir le résultat ? Remplir plusieurs pages de chiffres ?

    Sinon, il n'existe pas de méthode aussi rapide que Math.exp().
    Regarde la javadoc. Un exemple de code pourrait être (pas testé, codé rapidement) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    BigDecimal big = new BigDecimal( Math.E );
    big = big.pow( 6147741 );
    big = big.multiply( new BigDecimal( "0.369357567" ) );
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  5. #5
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 301
    Points : 75
    Points
    75
    Par défaut
    Merci pour ton aide ...

    J'ai bien compris ce que tu me conseillais de faire mais il n'y a pas de méthode pow pour un BigDecimal car je travaille avec java 1.4.

    Comment puis je faire autrement ?

    Merci pour votre aide

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 399
    Points : 413
    Points
    413
    Par défaut
    Citation Envoyé par dinobogan Voir le message
    Par curiosité, à quoi va te servir le résultat ? Remplir plusieurs pages de chiffres ?

    Sinon, il n'existe pas de méthode aussi rapide que Math.exp().
    Regarde la javadoc. Un exemple de code pourrait être (pas testé, codé rapidement) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    BigDecimal big = new BigDecimal( Math.E );
    big = big.pow( 6147741 );
    big = big.multiply( new BigDecimal( "0.369357567" ) );
    C'est pas bon comme calcul ca. Il ne faut pas multiplier le resultat par la partie décimale mais par e(la partie décimale). J'imagine que c'est un oubli

    Citation Envoyé par sissi25 Voir le message
    Merci pour ton aide ...

    J'ai bien compris ce que tu me conseillais de faire mais il n'y a pas de méthode pow pour un BigDecimal car je travaille avec java 1.4.

    Comment puis je faire autrement ?

    Merci pour votre aide
    Demande toi ce qu'est une puissance... avec un multiply recursif tu devrais pouvoir trouver ton bonheur nan ?

    Maintenant tu ne va pouvoir gérer que des puissance entiere (c'est d'ailleurs le cas avec le pow de BigDecimal) seulement tu peux décomposer ton exponentiel en la partie entière et la partie décimale (comme l'a suggérer Dinobogan). et sur la partie décimal plutot que d'utiliser E^A tu utilises exp(A)

    Mais la c'est clair que ton resultat va tenir sur des pages... sans compter le temps de calcul necessaire... Tu es sur de vraiment vouloir calculer ca ? Ce serait dans quel but ?
    SPARK
    Moteur de particule C++ opensource avec modules de rendu OpenGL, Irrlicht et SFML

Discussions similaires

  1. [Débutant] Problèmes pour créer une classe
    Par Hokage dans le forum Débuter
    Réponses: 3
    Dernier message: 27/09/2007, 16h48
  2. [Débutant] Problème pour dessiner une courbe
    Par torNAdE dans le forum MATLAB
    Réponses: 6
    Dernier message: 16/07/2007, 22h25
  3. Réponses: 2
    Dernier message: 25/06/2007, 11h38
  4. [8.5]Problème pour calculer le nombre des personnes d'une liste
    Par Gotch59 dans le forum SAP Crystal Reports
    Réponses: 9
    Dernier message: 21/06/2007, 09h47
  5. problème pour récupérer une valeur dans ma bd (débutante)
    Par auryn111 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 26/08/2005, 17h49

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