PyPrintPi auf einem Raspberry Pi (12 / 23 schritt)


Schritt 12: Codierung Gauss Formel

In unserem vorherigen Schritt fanden wir die Formel:

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

Wir können leicht daraus eine Funktion in Python geht man davon aus, dass wir eine Arctan-Funktion definiert haben:

Wir müssen nun eine Arctan-Funktion erstellen. Die schnellste Methode zur Umsetzung wäre die Formel verwenden, sahen wir in Schritt 9:

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

aber zu sehen, wie wir berechnen nur Arctans Zahlen in Form von 1 / x es macht mehr Sinn, die Formel als neu zu definieren:

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

Dies gibt uns die folgende Funktion in Python:

Diese Funktion ist ein bisschen fortgeschrittener als unsere bisherigen Funktionen, erfordert nicht die den Benutzer die Eingabe wie viele Iterationen ausgeführt. Stattdessen schaut auf den Wert der Getcontext () .prec und ermittelt den kleinsten Wert, die Python-Programm von Null unterscheiden können (zum Beispiel wenn Getcontext () .prec = 2, dann ist der kleinste Wert Python zwischen 0 unterscheiden kann 0,1).

Es vergleicht dann den Wert des letzten Wortes in der Reihenfolge: Wenn es ist kleiner als der kleinste Wert Python von 0 unterscheiden können, dann gibt es keinen Sinn, weiter, so dass das Programm beendet.

Wenn wir die beiden Funktionen zusammengestellt, erhalten wir das folgende Programm (gauss_pi_method.py):

Wenn Sie dies erhalten Sie 10.000 Stellen von π ausführen sollte es weniger als eine Minute dauern. Auf meinem Computer dauerte es 17 Sekunden. Das ist viel besser als die vorherigen beste Programm, das wir hatten, das basiert auf den Polygon-Methode, die dauerte 43 Sekunden auf meinem Computer zu 100 Stellen von π zu berechnen.

Jedoch können wir viel besser mit der gleichen Funktion, um π zu berechnen, wenn wir arctan(1/x) schneller berechnen könnte.

Glücklicherweise kam Euler mit einem Weg, genau das zu tun:

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²)⁴)) +...

Die n-te Begriff in dieser Serie wird durch die Funktion Tabelle gegeben:

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

Wo befindet sich der erste Term (X / (1 + X²))

Um den Code machen schneller laufen können wir berechnen 1 + X² vor der Schleife so haben wir nur einmal berechnet. Der aktualisierte Code (gauss_pi_method_accelerated_arctan.py) ist:

Dieser Code hat etwas mehr als eine halbe Sekunde π auf 10.000 stellen, berechnen, das etwa 30 Mal schneller als zuvor!

Es ist ein netter Trick, um den Code noch schneller machen. Bis jetzt habe wir die dezimale Bibliothek in Python verwendet. Wenn wir die Berechnungen mit ganzen Zahlen tun wird es viel schneller sein. Dazu multiplizieren wir zuerst den Anfangswert durch eine große Potenz von 10 und später, wenn wir das Ergebnis verwenden möchten, teilen wir es durch die gleiche Potenz von 10. Hier wird der Code (gauss_pi_method_fixed_point.py) aussehen:

Diese Version des Codes berechnet 10.000 Dezimalstellen von π in 0,26 Sekunden, das ist fast doppelt so schnell wie die vorherige Methode!

In Verbindung stehende Artikel

Festlegen von OSMC auf einem Raspberry Pi

Festlegen von OSMC auf einem Raspberry Pi

OSMC ist ein open-Source-Media-Center, die auf einem Raspberry Pi installiert werden kann. Mit OSMC haben Sie Ihre Filme, Musik und Bilder alles aus einer Hand!Benötigte Materialien:(1) computer(2) Raspberry Pi Modell B(3) HDMI-Kabel4. Monitor oder F
Wie erstelle ich eine Scratch-Spiel mit Makey Makey Controller auf einem Raspberry Pi

Wie erstelle ich eine Scratch-Spiel mit Makey Makey Controller auf einem Raspberry Pi

In diesem instructable Sie erfahren wie Sie ein einfaches Spiel in Kratzer auf einem Raspberry Pi zu machen; um das Spiel mehr Spaß machen werden Sie es mit realen Objekten (Obst und Gemüse) über eine Makey Makey steuern.Sie benötigen:Ein Mini-Comput
Newbies Leitfaden zur Installation und Konfiguration von Octoprint auf einem Raspberry Pi für den 3D-Druck

Newbies Leitfaden zur Installation und Konfiguration von Octoprint auf einem Raspberry Pi für den 3D-Druck

Wenn Sie eines meiner anderen Instructables, am meisten bemerkenswert komplette Anfänger Schritt für Schritt 3D Drucker mit allen Stücklisten gelesen haben, wissen Sie, dass ich erinnere mich an meine eigenen Frustrationen auf unvollständige Anweisun
Audio-Lösung mit Steuerung und Visualisierung auf einem Raspberry Pi mit Touchscreen (Squeezebox Touch-Funktionalität)

Audio-Lösung mit Steuerung und Visualisierung auf einem Raspberry Pi mit Touchscreen (Squeezebox Touch-Funktionalität)

Wir präsentieren Ihnen eine Möglichkeit zur Auswahl und Steuerung der Raspberry Pi-Audioplayer direkt über ein Touch-Display. Unsere Einrichtung basiert auf der Squeezebox-Technologie und ermöglicht somit auch Multiroom-audio-Lösungen.Unsere Idee war
Wie installiere ich Mondlicht auf einem Raspberry Pi

Wie installiere ich Mondlicht auf einem Raspberry Pi

Dieses Tutorial wird durch alle notwendigen Schritte, Mondschein auf Ihre Raspberry Pi zu installieren gehen. Mondlicht wird verwendet, um Spiele von einem leistungsstarken PC Raspberry Pi für größere Beweglichkeit und einfache Handhabung zu streamen
Aufbau und Betrieb von NOOBS auf einem Raspberry Pi

Aufbau und Betrieb von NOOBS auf einem Raspberry Pi

In dieser Anleitung werde ich gehen, wie der Raspberry Pi einrichten und starten Sie es zum ersten Mal NOOBS. Es ist wichtig zu verstehen, wie alle Hardware eingerichtet und Gewusst wie: Einrichten von dem eigentlichen Betriebssystem für den Raspberr
Lampe/e-Mail-Server mit Login/Passwort auf einem Raspberry PI 2

Lampe/e-Mail-Server mit Login/Passwort auf einem Raspberry PI 2

Diese Instructable führt Sie durch den Prozess der1. der Raspberry PI 2 Raspbain hinzufügen2. installieren die LAMP-server3. Installation des e-Mail-Servers(4) Download und Installation des Login/Passwort-Prozesses5. einrichten die MySQL-DatenbankSch
Reine Pi: Benutzerdefinierte Stompbox Effekte auf einem Raspberry Pi mit einem Smartphone Steuern

Reine Pi: Benutzerdefinierte Stompbox Effekte auf einem Raspberry Pi mit einem Smartphone Steuern

Dies ist mein erster instructable, obwohl ich seit geraumer Zeit mit Pure Data, Raspberry Pi und anderen digitalen Audio gearbeitet haben. Wenn Sie möchten, um zu sehen mehr Instructables wie diese, für mich stimmen!Je Wunder wie digitale Effekte ers
Einrichten einer aktiven DNS auf einem Raspberry Pi 2 mit einem Webserver darauf verweisen

Einrichten einer aktiven DNS auf einem Raspberry Pi 2 mit einem Webserver darauf verweisen

Dieses Bild beschreibt den Verkehrsfluss der Verwendung eines aktiven DNS-Service! Aktiven DNS-Dienste sind auch als verwaltet DNS-Dienste sowie zu gepfiffen.Schritt 1: Wählen Sie einen aktiven DNS-Dienst verwendenDiesen Link wird eine Liste der akti
Mit Phidgets auf einem Raspberry Pi 2

Mit Phidgets auf einem Raspberry Pi 2

Hallo Macher,In diesem wird instructable ich zur Verwendung mit einem Phidgets Interfacekit 8/8/8 eine Himbeere Pi2 Vorbereitung zeigen, wie man seinDie Produkte von Phidgets können Sie Sensoren eine Aktoren an Ihren pc/Pi/Mac über den USB-Port ansch
Installieren von Android 2.3 auf einem Himbeer-Pi

Installieren von Android 2.3 auf einem Himbeer-Pi

In diesem (sehr) kurzen Tutorial zeige ich Ihnen, wie installiere ich Android 2.3 (Cyanogen Mod) auf einem Raspberry Pi, es ist sehr einfach zu tun.Um dies zu erreichen, benötigen wir einige Hardware und Downloads:Android 2.6 Cyanogen Mod + EthernetW
Schnappschüsse mit der Wolfram-Sprache auf dem Raspberry Pi (Autor: Arnoud Buzing)

Schnappschüsse mit der Wolfram-Sprache auf dem Raspberry Pi (Autor: Arnoud Buzing)

Dieser Beitrag zeigt, wie mithilfe der Standardkamera Raspberry Pi mit der Wolfram-Sprache auf einem Raspberry Pi.Original-Beitrag: http://community.wolfram.com/groups/-/m/t/157704Schritt 1: HardwareUm dieses Experiment zu erstellen benötigen Sie die
Verwandeln Sie einen alten CRT-Fernseher in einem Raspberry Pi Powered MAME Cocktail Schrank

Verwandeln Sie einen alten CRT-Fernseher in einem Raspberry Pi Powered MAME Cocktail Schrank

hier will ich euch zeigen, wie ich ging über den Bau meiner Arcade-Maschine, die ein Raspberry Pi läuft MAME verwendet, um Spiele zu emulieren. Wie jedermanns Einrichtung unterschiedlich sein wird dies allgemeiner Natur werden aber hoffentlich genüge
4 Schritte zum DVDs auf einem Apple-TV4 sehen

4 Schritte zum DVDs auf einem Apple-TV4 sehen

In diesem instructable werde ich wie Sie Ihre eigenen DVDs mit einem Apple-TV4 spielen beschreiben. Leider ist es nicht möglich, Videos direkt auf der Apple-TV4 zu speichern. Darüber hinaus kann eine externe Festplatte angeschlossen werden. Aber mit