Weiss jemand, wo ich Informationen über einen Algorithmus oder eine
Formel finde, wie ich die nte dezimale Stelle von PI berechnen kann?
(reicht schon, wenn es bis zu 100sten oder so funktioniert).
Wäre auch gut, wenn die Formel leicht nachvollziehbar ist.
Jan
Guten Tag.
Die einfachste ist wohl die von Archimedes. Die mit dem eingeschobenen und
umrandenden Vieleck. Mit Sin und Tan kann man den Umfang der beiden
berechnen und der Mittelwert ist je nach n (n-Eck) ziemlich genau Pi. Bei n
= 1 000 000 musst du nicht mal den Mittelwert bilden...das wird schon so auf
ca. 100 Stellen genau sein.
*Formel überleg*
Für das eingeschobene fällt mir spontan ein:
z.B. 6 * sin(180/6) = 3
pi = n * sin(180/n)
Für das äußere Vieleck kannst du dir dann ja selbst eine Formel herleiten.
Geht dann mit Tangens...
Ach, die Methode von Archimedes ist wohl eine schlechtesten =)
Es gibt viele bessere und schnellere, leider kann ich die noch nicht alle
ganz nachvollziehen (da ich erst in der 10. Klasse bin). Such halt mal nach
Pi und Differential ;)
Tschüss
Daniel Gutekunst
Hallo Jan,
einen guten Überblick alter und neuer Verfahren zur Berechnung von pi
gibt:
http://www.mathematik.uni-osnabrueck.de/staff/phpages/brunsw/PiBerechnung.pdf
Man könnte aber Deine Frage auch so verstehen, daß Du ein Verfahren
suchst,
mit dem Du gezielt die n-te Stelle augeben kannst, ohne zuvor die
vorigen n-1
Stellen berechnet zu haben.
Andererseits reichen Dir ja 100 Stellen. Dafür brauchst Du gar keinen
Algorithmus,
sondern es genügen dann die tabellierten Daten.
Beispielsweise: 100.000 Dezimalstellen
http://pi314.at/math/100000digits.html
206.158.430.000 Dezimalstellen
http://www.hepl.phys.nagoya-u.ac.jp/~mitsuru/pi-e.html
(in Paketen zu 10.000.000 Ziffern.
Gruß
Martin
Jan Krumsiek wrote:
Schau mal nach unter
http://delphi.zsg-rottenburg.de/delphi.html#verzeichniseinsteigermathpi
Dort sind Formeln von Archimedes bis Borwein("mörderisch") aufgelistet.
MFG Joachim Mohr
http://delphi.zsg-rottenburg.de
Mit der Formel von Bailey-Borwein-Plouffe kannst Du jede beliebige hexadezimale
Stelle von pi unabhängig von den anderen berechnen ...
>Wäre auch gut, wenn die Formel leicht nachvollziehbar ist.
Hmm, "leicht nachvollziehbar" ist sehr relativ ;-)
Mit dem Suchbegriff berechnung pi findest Du in http://www.google.com
etwa 12000 Treffer, und bereits die ersten sehen recht gut aus ...
Grüße
Hermann
--
>
>Jan
> Weiss jemand, wo ich Informationen über einen Algorithmus oder eine
> Formel finde, wie ich die nte dezimale Stelle von PI berechnen kann?
> (reicht schon, wenn es bis zu 100sten oder so funktioniert).
Das Problem ist, dass Pi relativ selten in der Natur vorkommt,
dafür umso häufiger in der Literatur bzw. im Internet ;-)
> Wäre auch gut, wenn die Formel leicht nachvollziehbar ist.
Eine besonders hübsche und einfache Formel ist
pi 1 2 3 4
-- = 1 + ( - ( 1 + - ( 1 + - ( 1 + - ( 1 + ... ))))
2 3 5 7 9
Zusätzlich ist diese Formel geeignet, Pi aufs Einfachste, d.h.
nur mit ganzen Zahlen, und dazu noch relativ schnell zu berechnen.
Wenn du die Formel also programmieren willst, brauchst du
keine besonderen Bibliotheken zu haben, auch nicht solche für
"große Zahlen".
Und relativ schnell heißt, schnell genug für jeden, der nicht
auf Weltrekordjagd geht. Das liegt auch daran, dass man direkt
in der Basis 10 rechnen kann, also keine zeitteuren Konversionen
braucht.
Der besondere Gag ist, dass Ziffer für Ziffer von Pi
aus dem Algorithmus "tröpfelt", der deswegen auch so heißt.
Da kann man dann leicht nachvollziehen, was da passiert,
und es ist nicht so wie bei diesen Formel-Boliden, die dich
von 2 auf 100 Stellen in einer Operation bringen (oder so).
In dem Klassiker "The Quest for Pi David H. Bailey", Jonathan M.
Borwein, Peter B. Borwein and Simon Plouffe June, zu erhalten hier
http://citeseer.nj.nec.com/5892.html wird er auf Seite 8 beschrieben.
Eine kleine Bastelanleitung findest du auch auf
http://icg.harvard.edu/~fs5/pi/RTFTechTree/
unter Spigotry.rtf
Und schließlich gibt es hervorragende Implementierungen
im Internet, z.B. in der Sprache 'Java' unter
http://www.luschny.de/math/Pi/pispigot.html
... und dieser Hinweis, so wird jetzt jeder behaupten, war
wohl der einzige Grund, warum ich dir geantwortet habe :-))
Gruß Peter
Vielleicht könnt ihr mir da weiterhelfen.
Jan
Na also. Da ist der "Tröpfelalgorithmus" genau der richtige.
Such einfach in dieser Richtung weiter. "Vorrechnen" kann
ich ihn dir hier jetzt leider nicht.
Gruß Peter
[ ... ]
>Na also. Da ist der "Tröpfelalgorithmus" genau der richtige.
>Such einfach in dieser Richtung weiter. "Vorrechnen" kann
>ich ihn dir hier jetzt leider nicht.
Hallo Jan,
FYI: beim Suchen im Internet empfiehlt es sich, auch nach
spigot algorithm
zu suchen.
Gruß
Hermann
--
>
>Gruß Peter
>
>
[ ... ]
>Eine besonders hübsche und einfache Formel ist
Hmm, damit das niemand mehr behaupten muß, ist hier auch eine
C-Implementierung:
http://www.snippets.org/snippets/portable/SPIGOT+C.php3
Und in
http://www.snippets.org/snippets/portable/portable.php3
---> Various ways of computing PI to ridiculous lenghts
sind noch mehr PI-Progrämmchen ...
Grüße
Hermann
--
>
>Gruß Peter
>
>
> [...] ist hier auch eine C-Implementierung:
> http://www.snippets.org/snippets/portable/SPIGOT+C.php3
Letzte Anweisung vor dem return: free(pi); :-))
Dieses Ding müsste sich doch fast 1-1 auf einen
Taschenrechner übertragen lassen.
Gruß Peter
Hi!
Ich hab mal nach ihm gesucht, der scheint ja auch gut zu
funktionieren, aber leider habe ich nur irgendwelche Programmcodes
mit dem Algorithmus gefunden, nirgendwo aber eine vernünftige
Beschreibung wie und warum das Teil funktioniert!
Hast du zufällig eine Adresse oder so?
Jan
> Na also. Da ist der "Tröpfelalgorithmus" genau der richtige.
> Such einfach in dieser Richtung weiter. "Vorrechnen" kann
> ich ihn dir hier jetzt leider nicht.
> Ich hab mal nach ihm gesucht, der scheint ja auch gut zu
> funktionieren, aber leider habe ich nur irgendwelche Programmcodes
> mit dem Algorithmus gefunden, nirgendwo aber eine vernünftige
> Beschreibung wie und warum das Teil funktioniert!
> Hast du zufällig eine Adresse oder so?
Die zwei angegebenen hast du dir angeschaut? Wenn das
zu allgemein/abstarkt/zu_englisch ist, dann kann ich nur
noch auf Bücher verweisen. Beide sind als Quelle in meinem
Java-Programm angegeben. Hier eine davon nochmal:
J. Arndt, Ch. Heanel: "Pi, Algorithmen, Computer, Arithmetik"
Springer Verlag, 2. Auflage 2000, mit CD-Rom
Gruß Peter
PS. Warum das Teil funktioniert? Einfach. Du nimmst die
Formel von Leibniz (1674), wendest darauf die Transformation
von Euler an (vgl. K. Knopp, "...unendliche Reihen"),
faßt dann die Reihe als eine Zahl in einem Stellensystem mit
variabler Basis auf, und rechnest schließlich immer schön
stückweise ins Dezimalsystem um.
Falls Du Mathcad hast:
http://pauillac.inria.fr/algo/bsolve/constant/pi/spigot.mcd
Falls Du JSTOR-Zugang hast: Originalaufsatz von Rabinowitz und Wagon:
http://www.ams.org/mathscinet-getitem?mr=96a:11152
Hier ist eine Schritt-für-Schritt-Beschreibung:
http://www.cis.usouthal.edu/faculty/lynn/fall98/cis227/laboratory/labassignment1/labas
signment1.html
Hier eine französische Beschreibung:
http://www.multimania.com/bgourevitch/mathematiciens/goutte/goutte.html
L'algorithme compte-gouttes ...
http://www.multimania.com/bgourevitch/ref/ref.html
.... und die übrigen ca. 600 Treffer bei http://www.google.com kannst Du selber
checken ;-))
Grüße
Hermann
--
>Jan
Wie berechnet man die Länge eines Graphen in einem bestimmten
Abschnitt?
Ich glaube, dass heisst Linien-Integral oder irgendwie so?
Hab leider in meinem LK-Buch dazu nichts gefunden, bzw. ich wusste
nicht genau, wonach ich da suchen soll.
Jan
OK, erstmal vielen Dank wieder an euch beide, ich werde mir das mal
alles anschauen!
Jan
Dem kann ich nur zustimmen.
Die allgemeine Formel lautet
integral[a;b] sqrt(1+(f '(x))^2) dx
In unserem Mathe-LK-Buch steht es aber mit Beweis drin. Vielleicht hast du
es nur übersehen.
MfG Jan Michel
-----------------------
http://www.javascript-page.de.vu
http://www.janmichel.de.vu
Hmm, ich habe wirklich nichts gefunden in dem Buch. "Linienelemente"
heisst das ganze oder wie jetzt?
Kann mir das jemand evtl. mal am Beispiel
f(x) sqrt(1 - x^2) zwischen 0 und 1 vorrechnen?
Sollte eine Annäherung an PI/2 rauskommen, da Viertelkreis.
Jan
> Hmm, ich habe wirklich nichts gefunden in dem Buch. "Linienelemente"
> heisst das ganze oder wie jetzt?
Das ganze ist kein Linienintegral, darunter versteht man etwas anderes,
nämlich das Integral
\int_{C} \d \vec{x} \vec{V}(\vec{x})
eines Vektorfeldes entlang einer Kurve C.
Was Du willst ist die Bogenlänge einer Kurve, die durch den Graphen einer
Funktion f:D->R mit D \subset R gegeben ist.
Anschaulich ist das sehr einfach herzuleiten. Zeichne Dir eine Kurve hin
und trage ein kleines Stückchen ab, das dem Argumentintervall (x,x+dx)
entspricht. Jetzt zeichne die Sehne zwischen den beiden Punkten auf der
Kurve ein und berechne dessen Länge. Die ist
dx^2+[f'(x) dx]^2=(1+[f'(x)]^2) dx^2
Die länge der Kurve ist also
s=\int_{D} dx sqrt[1+[f'(x)]^2]
>
> Kann mir das jemand evtl. mal am Beispiel
>
> f(x) sqrt(1 - x^2) zwischen 0 und 1 vorrechnen?
Yep, also
f'(x)=-x/sqrt(1-x^2)
1+[f'(x)]^2=1+x^2/(1-x^2)=1/(1-x^2)
Also ist
s=\int_{0}^{1} 1/sqrt(1-x^2)=arcsin(x)|_{0}^{1}=pi/2
Das muß ja auch so sein, wie Du richtig schreibst.
>
> Sollte eine Annäherung an PI/2 rauskommen, da Viertelkreis.
>
> Jan
--
Hendrik van Hees Fakultät für Physik
Phone: +49 521/106-6221 Universität Bielefeld
Fax: +49 521/106-2961 Universitätsstraße
mailto:he...@physik.uni-bielefeld.de D-33615 Bielefeld