Il y a quelque temps, j'ai écrit un article sur l' estimation de Pi à l' aide de diverses méthodes. En guise de suivi, je vais maintenant écrire un article sur l'estimation de e , ou le nombre d'Euler, en Python.
e est une constante mathématique et, comme pi, est irrationnelle (c'est-à-dire qu'elle ne peut pas être exprimée exactement comme les décimales s'étendent jusqu'à l'infini) mais elle peut être estimée avec n'importe quelle précision.
Si vous voulez faire des recherches e plus Wikipédia a un article très complet sur le sujet, mais ici je vais concentrer sur l' estimation de la valeur à l' aide d' un simple programme Python.
La plongée Let directement dans le code qui vit dans un seul fichier appelé e.py . (Au moins, vous ne pouvez pas m'accuser d'utiliser des noms de fichiers trop longs) que vous pouvez cloner / télécharger à partir du référentiel Github .
Ceci est la première partie du code source.
Près du haut du fichier, j'ai défini une variable appelée E15DPqui est une chaîne contenant e à 15 décimales. Cela sera utilisé comme valeur définitive pour comparer avec les valeurs que nous calculons. Le nom est tout en majuscules pour indiquer qu'il doit être considéré comme une constante.
Ensuite, nous avons quelques constantes de couleur pour afficher le texte sur la console dans différentes couleurs.
La mainfonction consiste en quatre appels de fonction pour estimer e à l' aide de diverses méthodes. Tous sauf les premiers sont commentés pour l'instant car nous les exécuterons un à la fois.
La print_as_textfonction prend une valeur pour e et la convertit en une chaîne de 15 décimales. Il l'imprime ensuite après la valeur définitive, avec des chiffres corrects en vert et des chiffres incorrects en rouge.
La première fonction pour calculer e est celle expansion_1qui implémente cette formule…
… Avec une valeur n= 100000
Nous en avons maintenant assez pour exécuter cette commande.
python3.8 e.py
La sortie est:
Comme vous pouvez le voir, cela nous donne 4dp de précision; vous voudrez peut-être expérimenter différentes valeurs de n.
Essayons maintenant une autre extension pour implémenter cette formule avec n= 0.000000001.
Commentez expansion_1()dans main, uncomment expansion_2()et exécuter à nouveau le programme. Ceci est la sortie.
Cela nous donne 5dp de précision, mais encore une fois, vous pouvez essayer différentes valeurs de n.
Passons maintenant à la troisième méthode, Newton's Series, pour laquelle la formule est:
Cela signifie que nous commençons avec n= 0, définissons e à 1 / n !, incrémente net continuons à ajouter 1 / n! à e aussi longtemps que nous le voulons.
( n! signifie le produit de tous les nombres entiers jusqu'à et y compris n, par exemple 4! = 4 x 3 x 2 x 1 = 24. Incidemment 0! = 1. )
Uncomment newtons_series()dans mainet exécuter le programme.
Sir Isaac nous donne 9dp de précision avec une valeur maximale de n= 13.
Comme pour π, les gens travaillent toujours sur des moyens de calculer e et je terminerai avec cette méthode impressionnante récemment découverte, Brothers Formula, conçue aussi récemment qu'en 2004.
Comme pour la série de Newton, c'est la somme d'une série infinie bien qu'un peu plus complexe.
La complexité supplémentaire est payante: il suffit de compter jusqu'à 8 pour obtenir 15dp (peut-être plus) de précision.
Bien sûr, si vous avez réellement besoin de e dans votre code Python, vous devriez le coder en dur en une «constante» mais j'espère que vous avez trouvé ce projet simple intéressant, en particulier la conversion de formules en notation mathématique en Python.
Vous devez avoir entendu parler de tous les nouveaux plugins ChatGPT puissants comme le navigateur, l'interpréteur de code, etc. Mais il y a un problème, l'accès aux plugins est limité à une liste d'attente et donc beaucoup n'y ont pas accès.
Le processus d'admission de l'automne 2023 touche à sa fin et des reports/rejets se produisent. Félicitations si vous avez été accepté dans le programme de vos rêves à l'UW.
Hier, nous avons fermé la porte du concours Eurovision de la chanson de cette année avec une grande finale scintillante et chaotique où la chanteuse suédoise Loreen a remporté le trophée, devenant la première femme à gagner deux fois et ramenant la couronne à la Suède 50 ans après qu'ABBA a remporté le concours. avec "Waterloo". Ils sont devenus l'un des plus grands groupes du canon de la musique pop.
Introduction :Bienvenue, courageux lecteurs, dans un voyage qui nous emmènera dans les profondeurs les plus sombres de notre planète. Dans ce blog, nous plongeons dans le monde énigmatique de la fosse des Mariannes, découvrant ses secrets cachés et découvrant les vérités effrayantes qui se cachent sous sa surface.
Lorsque vous faites une demande à facebook.com, votre ordinateur recherche le nom de domaine pour traduire ce nom de domaine en une adresse IP afin que votre ordinateur puisse établir cette connexion.
La démangeaison dans ma main s'est propagée alors que je négociais avec le libraire local pour un autre livre. Ce livre, comme les autres que j'ai achetés récemment, trouverait son trône sur ma pile «À lire» (TBR); et pourtant, je l'ai acheté.