Nous allons découvrir, à travers divers exercices, le logiciel Scilab pour ainsi illustrer des notions élémentaires sur l'arithmétique en virgule flottante et la stabilité numérique. Premièrement, nous verrons le Calcul de Pi par la méthode d'Archimède et donc le phénomène de « cancellation ». Deuxièmement, nous effectuerons le calcul de ex ; par série de puissance, notamment appelé, phénomène de « smearing » et puis enfin, les schémas « forward » et « backward » (...)
[...] 𝐼 = 𝑚 𝑎𝑛 𝑚 𝑛 𝑎𝑘 𝑘=1 + . 𝐼𝑚 𝑎𝑛 Or, (𝑚 ) 𝑑𝑛 (𝑚 ) 𝑑𝑛 (𝑚 ) 𝑑𝑛 1 = 𝑚 1 = 𝑚 = (𝑚 ) 𝑑𝑛 (𝑚 ) 𝑑𝑛 𝑎𝑘 𝑘=1 𝑛 𝑘=1 𝐼𝑛 (𝑚) 1 + . 𝐼𝑛 𝑛 𝑎 𝑚 𝑎𝑘 (𝑚 ) 1 + . 𝐼𝑛 𝑎𝑛 𝑚 𝑛 𝑘=1 𝑛 𝑘=1 𝑎𝑘 + . 𝐼𝑚 𝑎𝑛 . 𝐼𝑚 𝑎𝑘 𝑎𝑛 (𝑚 ) . 𝐼𝑛 . 𝐼𝑚 𝑎𝑛 𝑎𝑛 (𝑚 ) 𝑑𝑛 𝑛 (𝑚 ) = 𝐼𝑛 . [...]
[...] on en déduit : 𝑘=𝑛+1 𝑘=𝑛+1 𝑥𝑘 𝑈𝑛 + 𝑈𝑛 + 𝑈𝑛 + 𝑘! 𝑥𝑘 𝑈𝑛 𝑘! 𝑛= 2𝑛 𝑈𝑘 𝑈𝑛 𝑛 𝑛= 2𝑛 Or, 𝑛= = 1 𝑒𝑡 𝑑𝑜𝑛𝑐 2𝑛 𝑈𝑘 𝑈𝑛 𝑘=𝑛+1 Conclusion : 𝑟𝑛 𝑥 𝑈𝑘 𝑘=𝑛+1 𝑟𝑛 𝑥 𝑈𝑛 𝑟𝑛 𝑥 𝑥𝑛 𝑥𝑛 𝑐𝑎𝑟 𝑈𝑛 = 𝑛! 𝑛! 11 Phénomène de smearing Basique clc clear n=100; Il faut veiller que n > x e = for e = e + ((x^k)/factorial(k)); end printf("Calcul approximatif : %.15f printf("Calcul exact : %.15f \n",exp printf("Erreur : %.15f \n",abs(exp 𝑥 = 𝑥 = 5 Calcul approximatif : 0.006737946999087 Calcul approximatif : 148.413159102576570 Calcul exact : 0.006737946999085 Calcul exact : 148.413159102576600 Erreur : 0.000000000000001 Erreur : 0.000000000000028 𝑥 = 𝑥 = 10 Calcul approximatif : 0.000045399929434 Calcul approximatif : 22026.465794806711000 Calcul exact : 0.000045399929762 Calcul exact : 22026.465794806718000 Erreur : 0.000000000000328 Erreur : 0.000000000007276 𝑥 = 𝑥 = 20 Calcul approximatif : 0.000000004992639 Calcul approximatif : 485165195.409790160000000 Calcul exact : 0.000000002061154 Calcul exact : 485165195.409790280000000 Erreur : 0.000000002931486 Erreur : 0.000000119209290 On remarque que quand x est petit et positif, on obtient des résultats relativement bons et proche de la valeur exacte. [...]
[...] 𝑚 𝑎 . 𝑚 𝑎 . 𝐼𝑚−𝑛 = 𝐼𝑚 + 3 3 + + + . 𝐼𝑚 𝑎𝑚 𝑎². 𝑚 𝑎 . 𝑚 𝑎 𝑎𝑛 . 𝑚 𝑎𝑛 𝑛 𝐼𝑚 −𝑛 = 𝑘=1 𝑎𝑘 . 𝑚 1 + . [...]
[...] k = 17 et PI = 3.1415926074 k = 18 et PI = 3.1415929109 k = 19 et PI = 3.1415941252 De plus, nous remarquons que si nous prenons k = 35, l'erreur devient flagrante à partir de 25 itérations : inexploitable Cette approximation fournit un résultat très médiocre car elle effectue deux soustractions. Du fait que le calcul de π soit récursif, on a une perte de précision qui est amplifiée à chaque itération. D'un point de vue mathématique, en regardant la formule, on pouvait le prévoir : 𝑦𝑘+1 = 2𝑘+ 2 En effet, 2−𝑘 . 𝑦𝑘 tend rapidement vers donc 1 2−𝑘 . 𝑦𝑘 2−𝑘 . 𝑦𝑘 1 2−𝑘 . [...]
[...] 𝑐𝑜𝑠 𝛼 , ici a et b valent 1 car ce sont les rayons, d'où 𝑐² = 1 + 1 2. 𝑐𝑜𝑠 𝛼 𝑐 = 2 sin(𝛼) 𝑎𝑣𝑒𝑐 𝛼 = 2𝜋 2𝑘 = ⟺𝑐 = 𝜋 2𝑘 −𝑐𝑜𝑠 𝛼 = 2.2 𝑠𝑖𝑛²(𝛼) 1 (On multiplie par 2 car on utilise le demi-périmètre) Le demi-périmètre est la somme des 2𝑘 côtés d'où : 𝑦𝑘 = 2𝑘 2 ×sin 𝜋 2𝑘 2 = 2𝑘 . sin 𝜋 2𝑘 Donc, 𝑦𝑘+1 = 2𝑘+ sin Or on sait que : sin = 𝜋 2𝑘+1 1−cos (2𝛼) 2 Alors : 𝑦𝑘+1 2𝜋 𝜋 1 cos 𝑘+ cos 𝑘 1 cos(2𝛼) = 2𝑘+ = 2𝑘+ = 2𝑘+ 𝑦𝑘+1 = 2𝑘+ 1 sin² 𝜋 2𝑘 𝑦𝑘+1 = 2𝑘+ 1 2−𝑘 . [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture