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

Fortran Discussion :

Problème de précision


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Par défaut Problème de précision
    Bonjour,
    j ai un problème en précision que j arrive pas à le voire,
    si j ai un nombre de type u=c/10^20 ou plus y a t il des méthodes pour afficher ce nombre exactement et non pas 0? j ai toujours cherché mais j ai pas recu une réponse
    merci pour votre aide

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Par défaut
    Quand tu dis :
    Citation Envoyé par feynman Voir le message
    un nombre de type u=c/10^20 ou plus
    fais-tu référence à la grandeur du nombre ? Parce qu'en informatique, « type » ça veut dire integer, real, etc.

    Pour la précision, tu devras préciser (!) :
    Citation Envoyé par feynman Voir le message
    y a t il des méthodes pour afficher ce nombre exactement et non pas 0?
    Essayes-tu d'afficher avec un format *, avec un format f ou g ? Essayes-tu d'obtenir toutes les décimales du nombre (mais tu est limité par la représentation interne du nombre) ?

    As-tu un exemple numérique, un bout de programme ?

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Par défaut
    Citation Envoyé par Sylvain Bergeron Voir le message
    Quand tu dis :

    fais-tu référence à la grandeur du nombre ? Parce qu'en informatique, « type » ça veut dire integer, real, etc.

    Pour la précision, tu devras préciser (!) :

    Essayes-tu d'afficher avec un format *, avec un format f ou g ? Essayes-tu d'obtenir toutes les décimales du nombre (mais tu est limité par la représentation interne du nombre) ?

    As-tu un exemple numérique, un bout de programme ?
    Voila un program qui me donne 0 apres la valeur 9, tandique moi je veux la valeurs exacte (c est a dire 0.00000005)
    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
    18
    19
    20
    21
    22
    23
    24
    25
                program vll
             integer i
             double precision ga(20)
             Call gou(ga,10)
    30       format ('f',i3,' = ',F12.6)
             do i=1,20
               write(*,30), i, ga(i)
             enddo
             end
     
             subroutine gou(gama,M)
             integer i
             double precision h
             double precision gama(M)
             h=1.0/M
             do i=1,M-1
               gama(i)=f(i*h)
             enddo
             end 
     
             double precision function f(x)
             double precision x
                 f =1.0/x**6
             return
             end

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Par défaut
    Citation Envoyé par feynman Voir le message
    Voila un program qui me donne 0 apres la valeur 9, tandique moi je veux la valeurs exacte (c est a dire 0.00000005)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    30       format ('f',i3,' = ',F12.6)
             do i=1,20
               write(*,30), i, ga(i)
    Tu veux avoir 8 décimales (0.00000005) alors que tu utilises un format de 6 décimales (f12.6)... Tu devrais utiliser le format Gn.d si les valeurs que tu veux imprimer sont très variables en échelle.

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Par défaut
    Citation Envoyé par Sylvain Bergeron Voir le message
    Tu veux avoir 8 décimales (0.00000005) alors que tu utilises un format de 6 décimales (f12.6)... Tu devrais utiliser le format Gn.d si les valeurs que tu veux imprimer sont très variables en échelle.
    Mais j utilise double precision dans mon cas

  6. #6
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Par défaut
    Malgré cela , j ai pas obtenu des résultats convaiquantes

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

Discussions similaires

  1. Problème de précision dans une requête
    Par Le Pharaon dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 09/08/2006, 14h16
  2. Réponses: 5
    Dernier message: 11/05/2006, 08h51
  3. Problème de précision avec FloatToStr
    Par Clorish dans le forum Langage
    Réponses: 9
    Dernier message: 06/12/2005, 15h38
  4. Réponses: 4
    Dernier message: 26/10/2005, 20h38
  5. [FLASH MX] Problème de "précision"
    Par will-scs dans le forum Flash
    Réponses: 2
    Dernier message: 03/07/2005, 00h31

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