Programmation et chiffres significatifs
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Programmation et chiffres significatifs



  1. #1
    invite787dfb08

    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

    ++

    -----

  2. #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

  3. #3
    invite4793db90

    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.

  4. #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.

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

    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

    ++

  7. #6
    invite787dfb08

    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

    ++

  8. #7
    invite4793db90

    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.

  9. #8
    invite787dfb08

    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

Discussions similaires

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