270 likes | 434 Vues
PROGRAMMATION SCIENTIFIQUE EN C. PRO-1027. Les erreurs sur les calculs par ordinateur. Représentation des nombres réels Types d’erreurs Epsilon de la machine et nombre de chiffres significatifs d’une représentation Propagation des erreurs Approximation de fonctions par série de Taylor
E N D
PROGRAMMATION SCIENTIFIQUE EN C PRO-1027
Les erreurs sur les calculs par ordinateur • Représentation des nombres réels • Types d’erreurs • Epsilon de la machine et nombre de chiffres significatifs d’une représentation • Propagation des erreurs • Approximation de fonctions par série de Taylor • Travail pratique no. 1
Représentation des nombres réels • Représentation des réels courts (32 bits) selon la norme de l’IEEE Mantisse Caractéristique S 31 30 23 22 0
Représentation des nombres réels • Représentation des réels longs (64 bits) selon la norme de l’IEEE Mantisse Caractéristique S 63 62 52 51 0
Représentation des nombres réels • Un réel court en virgule flottante (S,C,M) a sa valeur décimale N donnée par • S: bit de signe • C: caractéristique • M: mantisse
Représentation des nombres réels • Représentation sous forme d’un réel court du nombre 87,125 • Après normalisation
Représentation des nombres réels • Représentation sous forme d’un réel court du nombre 87,125 Mantisse avec le 1 implicite Exposant Mantisse entreposée Caractéristique
Représentation des nombres réels • Représentation sous forme d’un réel court du nombre 87,125 01011100100000000000000 0 100000101
Types d’erreurs • Erreur absolue et erreur relative • Supposons que nous approximons un nombre x par x’ • Les erreurs absolue et relative sont données par
Types d’erreurs • Erreur absolue et erreur relative • Supposons que nous approximons par ’=3.1416 • Si la valeur de =3.14159265, les erreurs absolue et relative sont données par • L’approximation est précise • à 4 décimales près • Avec 5 chiffres significatifs
Types d’erreurs • Erreur d’arrondi • Ce type d’erreur survient lorsque nous emmagasi-nons des nombres dans un espace physique (mé-moire) de dimension finie • Ce type d’erreur fait donc référence à la représenta-tion des nombres dans l’ordinateur
Types d’erreurs • Erreur d’arrondi • Considérons l’addition de 2 réels chacun avec 15 bits significatifs
Types d’erreurs • Erreur d’arrondi • Alignement de b
Types d’erreurs • Erreur d’arrondi • Arrondissement du résultat
Types d’erreurs • Erreur de troncature • Ce type d’erreur survient quand par exemple nous utilisons un nombre de termes finis pour faire l’approximation d’une série infinie (ex: série de Taylor) • L’utilisation d ’un algorithme avec un nombre d’itérations discrets peut aussi causer ce type d’erreur
Epsilon de la machine et nombre de chiffres significatifs d’une représentation • Lorsque nous effectuons l’addition de 2 nombres réels le plus petit des 2 est décalé ce qui occasionne une perte de précision • Dans des cas extrêmes il peut arriver que le plus petit nombre n’ai aucune signifiance dans le calcul, ayant été décalé complètement vers la droite • Le nombre de décalages maximum que peut subir un nombre avant qu’il n’ai plus de signifiance corres-pond au nombre de chiffres significatifs de la repré-sentation
Epsilon de la machine et nombre de chiffres significatifs d’une représentation • Le plus petit nombre signifiant d’une représenta-tion est appelé epsilon de la machine • Ce nombre représente la plus petite valeur de x pour laquelle 1+x>1
Epsilon de la machine et nombre de chiffres significatifs d’une représentation • Algorithme qui trouve le epsilon de la machine et le nombre de chiffres significatifs (cas binaire) eps=1 n=0 TTQ 1+eps>1 FAIRE eps = eps/2 n++ FIN TTQ eps = eps * 2 n = n-1 imprimer eps et n
Propagation des erreurs • Lorsque une opération telle que l’addition est répétée il peut survenir un phénomène de propaga-tion des erreurs d’arrondis • Alors la sommation suivante peut dans certain cas ne pas donner 1
Propagation des erreurs • De plus, l’ordre des sommations a aussi une influence sur la propagation des erreurs • Par conséquent les 2 sommations suivantes devraient donner la même valeur mais ce n’est pas le cas quand N est le moindrement grand
Propagation des erreurs • Algorithme de sommation successive saut = 1/N somme = 0 POUR i = 1 à N FAIRE somme = somme + saut FIN POUR imprimer somme et erreur (1-somme)
Propagation des erreurs • Algorithme de sommation ascendant somme = 0 POUR i = 1 à N par saut de 1 FAIRE somme = somme + 1/in FIN POUR imprimer somme
Propagation des erreurs • Algorithme de sommation descendant somme = 0 POUR i = N à 1 par saut de -1 FAIRE somme = somme + 1/in FIN POUR imprimer somme
Approximation de fonction par série de Taylor • Le développement en série de Taylor premet de faire l’approximation de fonctions suffisamment différentiables • Nous pouvons évaluer la valeur d’une fonction dans le voisinage d’un point de référence par
Approximation de fonction par série de Taylor • L’erreur de troncature découlant du développe-ment en série de Taylor avec n termes dérivés est donnée avec sa borne supérieure par
Approximation de fonction par série de Taylor • Pour la fonction cosinus avec a = 0 et un intervalle des valeurs de h [0,/2] et n=4
Approximation de fonction par série de Taylor • Pour la fonction cosinus, l’erreur de troncature est bornée par le premier terme de la série omis, cette erreur de troncature est bornée par (n=4)