Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Programmation et chiffres significatifs



  1. #1
    GalaxieA440

    Programmation et chiffres significatifs


    ------

    Bonjour,

    Le problème est le suivant :

    Nous utilisons un programme sous visual basic, qui utilise la fonction arctan, la fonction racine, et qui fait des soustraction, et des divisions. On fait une boucle. Donc on entre des valeurs, elles sont divisées, "arctangées" , soustraites une dizaines de fois, avant d'être replacées sous forme de variable, et on recommence la boucle.
    On sait que visual basic travail avec 15 chiffres. Le problème c'est que la boucle tourne environ 40 milliards de fois.

    Peut on vraiment espérer avoir un résultat à 15 chiffres juste, sachant que les résultats sur les 60 000 premières boucles correspsondent (pour les 8 ou 9 premiers chiffres), à ceux donnés par excel. Le but étant d'obtenir un résultat très précis (au moins 13-14 chiffres), est-ce que cela vous semble possible ?

    Merci de l'aide, il s'agit surement d'un problème de chiffres significatifs, car on ne trouve pas le résultat attendu à partir d'un certain nombre d'itération (environ 1 milliard).

    Cordialement

    ++

    -----
    "Pursue the small utopias... nature, music, friendship, love" Kupferberg

  2. Publicité
  3. #2
    Médiat

    Re : Programmation et chiffres significatifs

    C'est dans ce genre de circonstance que la théorie du chaos est à apparue à Lorentz.
    Si tes calculs sont itérés (utilisent le ou les résultats précédents) les erreurs s'accumulent...
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  4. #3
    martini_bird

    Re : Programmation et chiffres significatifs

    Salut,

    Peut on vraiment espérer avoir un résultat à 15 chiffres juste, sachant que les résultats sur les 60 000 premières boucles correspsondent (pour les 8 ou 9 premiers chiffres), à ceux donnés par excel. Le but étant d'obtenir un résultat très précis (au moins 13-14 chiffres), est-ce que cela vous semble possible ?
    Mais peut-on faire confiance à excel ?

    Je ne sais pas pour VB, mais pour d'autres langages, il y a des bibliothèques permettant la manipulation de nombres à grande précision.

    Toutefois, une machine admettra toujours une précision finie, et si tu veux vraiment contrôler l'erreur commise sur le résultat, il faut faire l'estimation "à la main" (i.e. avec du papier et un crayon).

    Cordialement.
    « Angle éternel, la terre et le ciel, pour bissectrice, le vent. » Garcia Lorca

  5. #4
    polo974

    Re : Programmation et chiffres significatifs

    Il faut aussi savoir que les fonctions trigos sont approximées par des polynômes pas toujours très justes (pour ne pas dire parfois assez fausses)...

    Encore une chose: 1020 + 1 (tous deux des nombres avec très peu de chiffres significatifs) donnera 1020 car le pauvre 1 est hors de portée des 15 chiffres significatifs.

    En gros calculer une limite avec des nombres flottants est une mauvaise idée.

  6. A voir en vidéo sur Futura
  7. #5
    GalaxieA440

    Re : Programmation et chiffres significatifs

    Salut

    Pour ce qui est de la théorie du chaos, on y avait déja pensé, et on a essayé de modifer l'état initial de 10^-9. Le résultat final nous apparait différent d'environ 10^-9 aussi, mais sur un plus petit nombre d'itération, on a pas simulé plus de quelques milliers. Il faudrait ressayer ça...Toutefois la théorie du chaos entraine un effet papillon, donc on l'aurait peut être déja observé ????

    D'autre part, Visual basic n'utilise que la fonction Arctan, on s'est donc débrouiller pour utiliser celle si exclusivement, on testera aussi la perinence de cette fonction.

    Enfin il est claire que 10^20 + 1 =10^20, car vb n'utilise que 15 chiffres, et un précision de 13 ou 14 chiffres nous conviendrait amplement.


    Merci pour l'aide

    Cordialement

    ++
    "Pursue the small utopias... nature, music, friendship, love" Kupferberg

  8. #6
    GalaxieA440

    Re : Programmation et chiffres significatifs

    Re bonjour

    Pour ce qui est de la théorie du Chaos, on est d'accord sur la réccurence, mais je ne suis pas sur que le programme est des "sensibilités aux conditions initiales" vraiment importantes.

    J'ai testé cette sensibilié en modifiant l'état initial de 0.00001. Je trouve un résultat final après 2 millions d'itérations qui diffère de 1.10^-5. Je modifie ensuite l'état initial de 1.10^-8, et le résultat diffère de 1.10-7.

    Cette différence suffit-elle pour dire que le système est chaotique ?

    Sinon, connaissez vous d'autre méthode pour vérifier que se système est chaotique ?

    Merci

    ++
    "Pursue the small utopias... nature, music, friendship, love" Kupferberg

  9. Publicité
  10. #7
    martini_bird

    Re : Programmation et chiffres significatifs

    Salut,

    Cette différence suffit-elle pour dire que le système est chaotique ?
    Non, le système a l'air d'être on ne peut plus "gentil".

    Reste à le montrer avec, encore une fois, du papier et un crayon : tu prends ta valeur initiale , tu lui fait subir une variation, disons , et tu essaies de majorer l'erreur commise sur le résultat en fonction de .

    Cordialement.

    Cordialement.
    « Angle éternel, la terre et le ciel, pour bissectrice, le vent. » Garcia Lorca

  11. #8
    GalaxieA440

    Re : Programmation et chiffres significatifs

    J'ai aussi cela à proposer :

    Les résultats obtenus en fait par le programme dépendent d'un angle exprimé au cours des itérations par la fonction Arctangeante. J'ai donc copié collé les résultats pour les 200 premières itérations, et j'ai ensuite modifié l'angle initial de 0.00000001. Puis je copie/colle les nouvelles valeures obtenue pour 200 itérations, et je fait les différence. Je trace la courbe, je vous ai mis la courbe de cette différence en pièce jointe.

    Comme vous pouvez le voir, il ya des oscillations "périodiques", et plus on fait d'itération, plus l'écart entre les deux valeures est important (sommet des pics). Mais on constate qu'à certains endroits, la différence est nulle.

    D'ou l'explication du fait qu'à 40 milliards d'itérations on trouve un truc totalement différent (on doit être sur une itération correspondant au sommet d'un pic), alors qu'à 1 milliards d'itération on a 12 chiffres de juste (on doit être à une itération proche de la ligne 0).

    Cette explication vous semble-t-elle logique ?

    Cordialement

    ++
    Images attachées Images attachées
    "Pursue the small utopias... nature, music, friendship, love" Kupferberg

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/12/2006, 15h25
  2. Physique - chiffres significatifs
    Par derfi dans le forum Physique
    Réponses: 10
    Dernier message: 09/01/2006, 13h25
  3. Chiffres significatifs
    Par LicenceXP dans le forum Chimie
    Réponses: 3
    Dernier message: 28/12/2005, 19h19
  4. rapel sur chiffres significatifs svp
    Par romane dans le forum Chimie
    Réponses: 5
    Dernier message: 24/09/2005, 09h27
  5. Chiffres significatifs...
    Par Blizzy dans le forum Chimie
    Réponses: 9
    Dernier message: 23/11/2004, 06h10