PyPrintPi sur une facture pro forma framboise (12 / 23 étapes)

Étape 12 : Codage formule de Gauss

Lors de notre étape précédente, nous avons trouvé la formule :

Π/4=12*arctan(1/18) + 8*arctan(1/57) - 5*arctan(1/239)

Nous pouvons facilement transformer cela en une fonction en python si nous supposons que nous avons défini une fonction arctan :

Maintenant nous devons créer une fonction arctan. La méthode la plus rapide à mettre en œuvre serait d’utiliser la formule que nous avons vu à l’étape 9 :

arctan (x) = x - (x³/3) + (x⁵/5) - (x⁷/7) + (x⁹/9) - (x¹¹/11)...

Cependant vu que nous sommes seulement calcul d’arctan de nombres sous forme de 1 / x c’est plus logique de redéfinir la formule comme :

arctan(1/x) = (1 / x)-(1/3 x ³) + (1/5x⁵) - (1/7x⁷) + (1/9x⁹) - (1/11 x ¹¹)...

Cela nous donne la fonction suivante en Python :

Cette fonction est un peu plus avancée que nos fonctions précédentes, car elle ne nécessite pas l’utilisateur de saisir le nombre d’itérations pour exécuter. Au lieu de cela, il se penche sur la valeur de .prec () getcontext et détecte que la valeur plus petite que le programme Python peut distinguer de zéro (par exemple si getcontext () .prec = 2, alors la plus petite valeur que Python peut distinguer de 0 est de 0,1).

Il compare ensuite la valeur de la dernière législature dans la séquence : si elle est inférieure à la plus petite valeur que python peut distinguer de 0 alors il n’y a aucun point en remontant pour le programme s’arrête.

Si nous mettons les deux fonctions ensemble, on obtient le programme suivant (gauss_pi_method.py) :

Si vous exécutez cette option pour trouver 10 000 décimales de π, il devrait prendre moins d’une minute. Sur mon ordinateur, il a fallu 17 secondes. C’est beaucoup mieux que le précédent meilleur programme que nous avions, l’une basée sur la méthode des polygones, qui a pris 43 secondes sur mon ordinateur pour calculer 100 décimales de π.

Cependant, nous pouvons faire beaucoup mieux en utilisant la même fonction pour calculer π si nous pourrions calculer arctan(1/x) plus rapidement.

Heureusement, Euler est venu avec une façon de faire exactement cela :

arctan(1/x) = (x / (1 + x²)) + ((2 * x) / (3*(1+x²)²)) + ((2 * 4 * x) / (3*5*(1+x²)³)) + ((2 * 4 * 6 * x) / (3*5*7*(1+x²)⁴)) +...

Le nième terme de cette série est donné par la fonction f (n) :

f (n) = f(n-1) * (2 * n) / ((2*n+1)*(1+x²))

où le premier terme est (x / (1 + x²))

Afin de rendre le code courir plus vite, nous pouvons calculer 1 + x² avant la boucle, alors il faut seulement une fois le calculer. Le code mis à jour (gauss_pi_method_accelerated_arctan.py) est :

Ce code a pris un peu plus d’une demi-seconde pour calculer π à 10 000 chiffres, c’est environ 30 fois plus rapide qu’avant !

Il y a une astuce pour rendre le code courir encore plus vite. Jusqu’ici nous avons utilisé la bibliothèque décimale en Python. Toutefois, si nous faisons les calculs à l’aide de tout entiers, il sera beaucoup plus rapide. Pour ce faire, nous avons d’abord multiplier la valeur de départ par les grandes puissances de 10 et plus tard, quand nous voulons utiliser le résultat, nous diviser par ce même pouvoir de 10. Voici comment le code ressemblera (gauss_pi_method_fixed_point.py) :

Cette version du code calculé 10 000 décimales de π en 0,26 secondes seulement, qui est presque deux fois aussi rapide que la méthode précédente !

Articles Liés

Débutants guident d’installation et configuration Octoprint sur une facture pro forma framboise pour l’impression 3D

Débutants guident d’installation et configuration Octoprint sur une facture pro forma framboise pour l’impression 3D

Si vous avez lu un de mes autres instructables, plus notable le débutant complet étape par étape, l'imprimante 3D avec toutes les listes de pièces, vous savez que je me rappelle mes propres frustrations à l'instruction incomplète et guides même après
Définissant l’OSMC sur une facture pro forma framboise

Définissant l’OSMC sur une facture pro forma framboise

OSMC est un centre de médias libres qui peut être installé sur une facture pro forma de framboise. Avec le concours, vous pouvez avoir vos films, musique et photos tous dans une seule source !Matériel nécessaire :1. ordinateur2. raspberry pi modèle B
Comment installer le clair de lune sur une facture pro forma framboise

Comment installer le clair de lune sur une facture pro forma framboise

Ce tutoriel va passer par toutes les étapes nécessaires pour installer Moonlight sur votre Pi de framboise. Clair de lune est utilisé pour diffuser les jeux depuis un PC puissant à un Pi de framboise pour une plus grande portabilité et facilité d'uti
Comment créer un jeu de rayures avec contrôleur Makey Makey sur une facture pro forma framboise

Comment créer un jeu de rayures avec contrôleur Makey Makey sur une facture pro forma framboise

Dans ce instructable vous apprendrez comment faire un simple jeu à gratter sur un Pi de framboise ; pour rendre le jeu plus amusant vous allez commander à l'aide des objets du monde réel (fruits et légumes) via un Makey Makey.Vous aurez besoin :Un mi
Mise en place et l’exécution de NOOBS sur une facture pro forma framboise

Mise en place et l’exécution de NOOBS sur une facture pro forma framboise

Dans cette instruction, je vais aller sur comment mettre en place le Pi de la framboise et il amorcer des NOOBS pour la première fois. Il est important de comprendre comment configurer tout le matériel et la manière de mettre en place le système d'ex
À l’aide de Phidgets sur une facture pro forma framboise 2

À l’aide de Phidgets sur une facture pro forma framboise 2

Bonjour à thé,Dans ce instructable je va vous montrer comment préparer une framboise Pi2 pour utilisation avec un Phidgets Interfacekit 8/8/8Les produits de Phidgets vous permettent de connecter un actionneurs de capteurs à votre pc/IP/mac via le por
Solution audio avec contrôle et visualisation sur une facture pro forma de framboise avec écran tactile (fonctionnalité Squeezebox Touch)

Solution audio avec contrôle et visualisation sur une facture pro forma de framboise avec écran tactile (fonctionnalité Squeezebox Touch)

Nous vous présentons la possibilité de sélectionner et de contrôler votre lecteur audio Raspberry Pi directement via un écran tactile. Notre installation est basée sur la technologie de la Squeezebox et par conséquent permet également aux solutions a
Pur Pi : Contrôler les effets de pédale personnalisé sur une facture pro forma de framboise avec un smartphone

Pur Pi : Contrôler les effets de pédale personnalisé sur une facture pro forma de framboise avec un smartphone

Il s'agit de mon premier instructable, bien que j'ai travaillé avec Pure Data, Raspberry Pi et autre audio numérique depuis un certain temps. Si vous souhaitez voir plus instructables pareil, votez pour moi !Je me demande toujours comment les effets
Mise en place d’un serveur VNC sur votre facture pro forma framboise

Mise en place d’un serveur VNC sur votre facture pro forma framboise

si votre Pi framboise est conçu pour exécuter une tâche qui ne nécessite normalement pas un moniteur, souris et clavier (ou toutes les relations humaines d'ailleurs), il est parfois utile d'accéder aux systèmes d'exploitation de la Pi vos framboises
Installation de Windows serveur RDP (Remote Desktop) sur votre facture pro forma framboise

Installation de Windows serveur RDP (Remote Desktop) sur votre facture pro forma framboise

Parfois ce n'est pas pratique d'avoir un moniteur et un clavier sont connectés à votre PI de framboise.Il s'agit d'un guide rapide pour la mise en place de votre PI pour permettre à windows d'utiliser Bureau à distance pour vous connecter à votre PIC
Héberger votre application Smartphone sur votre facture pro forma de framboise !

Héberger votre application Smartphone sur votre facture pro forma de framboise !

Rappel des faits :Je travaille actuellement sur un projet de Sencha Touch apportant une demande de l'Entrepreneur, qui sortira dans quelques mois... Restez à l'écoute ! Je veux seulement dire que c'est un peu plus complexe que cet exemple... mais il
Comment utiliser IFTTT sur votre facture pro forma

Comment utiliser IFTTT sur votre facture pro forma

Cet Instructable a été effectué afin de fournir un moyen simple d'utiliser IFTTT Maker canal sur un Raspberry Pi.Étape 1: Les choses dont vous avez besoinVous devez avoir :une framboise Pi 2 (voir ici pour plus de détails),un IFTTT compte (voir étape
* Préalable * SPI sur la facture pro forma : communication avec un accéléromètre 3 axes SPI à l’aide d’un Pi de framboise

* Préalable * SPI sur la facture pro forma : communication avec un accéléromètre 3 axes SPI à l’aide d’un Pi de framboise

guide étape par étape sur comment mettre en place des Raspbian et communiquer avec un périphérique SPI à l'aide de la bibliothèque de SPI bcm2835 (pas peu cogné!)C'est encore très préliminaire... J'ai besoin d'ajouter des meilleures photos de raccord
Installation de la langue de Wolfram et de Mathematica sur votre facture pro forma de framboise (auteur : Alex Newman)

Installation de la langue de Wolfram et de Mathematica sur votre facture pro forma de framboise (auteur : Alex Newman)

Mathematica et le langage de Wolfram sont maintenant disponibles de nôtre et dépôts de logiciels de la Fondation de la Raspberry Pi pour la valeur par défaut Raspbian Linux distribution pour la Pi. Si vous utilisez une image de Raspbian fournie par l