Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

nte Stelle von PI berechnen

623 views
Skip to first unread message

Jan Krumsiek

unread,
Feb 14, 2002, 2:54:57 PM2/14/02
to
Hi!

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

Daniel Gutekunst

unread,
Feb 14, 2002, 3:32:49 PM2/14/02
to
Jan Krumsiek schrieb:


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

Martin Wohlgemuth

unread,
Feb 14, 2002, 3:54:11 PM2/14/02
to
Jan Krumsiek wrote:

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

Joachim Mohr

unread,
Feb 14, 2002, 5:22:12 PM2/14/02
to

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

Hermann Kremer

unread,
Feb 14, 2002, 5:28:48 PM2/14/02
to
>Jan Krumsiek schrieb in Nachricht ...

>Hi!
>
>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).

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

Peter Luschny

unread,
Feb 15, 2002, 7:11:23 AM2/15/02
to
"Jan Krumsiek" schrieb

> 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


Jan Krumsiek

unread,
Feb 15, 2002, 8:43:07 AM2/15/02
to
Also, erstmal vielen Dank, für all eure Antworten, aber ich weiss
nicht, ob ich das jetzt alles überhaupt verwenden kann.
Ich hätte mich vielleicht konkreter ausdrücken müssen. Ich muss es
irgendwie schaffen mit einem Taschenrechner (TI-92) PI auf 100
Stellen (ca.) zu berechnen. Da dies natürlich den Rahmen der
Genauigkeit sprengt, müssen irgendwie einzelne Ziffern berechnet
werden.

Vielleicht könnt ihr mir da weiterhelfen.

Jan

Peter Luschny

unread,
Feb 15, 2002, 11:35:14 AM2/15/02
to
"Jan Krumsiek" schrieb

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


Hermann Kremer

unread,
Feb 15, 2002, 1:42:53 PM2/15/02
to
Peter Luschny schrieb in Nachricht ...
>"Jan Krumsiek" schrieb


[ ... ]

>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
>
>


Hermann Kremer

unread,
Feb 15, 2002, 6:57:00 PM2/15/02
to
Peter Luschny schrieb in Nachricht ...
>"Jan Krumsiek" schrieb


[ ... ]

>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
>
>


Peter Luschny

unread,
Feb 16, 2002, 2:31:02 AM2/16/02
to
"Hermann Kremer" schrieb:

> Peter Luschny schrieb in Nachricht ...
> >"Jan Krumsiek" schrieb

> [...] 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


Jan Krumsiek

unread,
Feb 16, 2002, 7:43:11 AM2/16/02
to
> 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.

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

Peter Luschny

unread,
Feb 16, 2002, 12:02:36 PM2/16/02
to
"Jan Krumsiek" schrieb:

> 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.

Hermann Kremer

unread,
Feb 16, 2002, 3:24:23 PM2/16/02
to
>Jan Krumsiek schrieb in Nachricht ...


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

Jan Krumsiek

unread,
Feb 17, 2002, 12:27:09 PM2/17/02
to
Hi!

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

Jan Krumsiek

unread,
Feb 17, 2002, 12:25:30 PM2/17/02
to
> 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–a: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
>

OK, erstmal vielen Dank wieder an euch beide, ich werde mir das mal
alles anschauen!

Jan

Jan Krumsiek

unread,
Feb 17, 2002, 12:41:48 PM2/17/02
to

Jan Michel

unread,
Feb 17, 2002, 2:00:17 PM2/17/02
to
"Anette Stegmann" <anette_s...@gmx.de> schrieb im Newsbeitrag
news:Xns91B8C11595F63...@news.t-online.de...
> {2002-02-17 18:41} "Jan Krumsiek":

>
> > Wie berechnet man die Länge eines Graphen in einem
> > bestimmten Abschnitt?
[...]
> Danach wäre die Länge der Parabel von 0 bis 1 also
> Integral(x in [0,1], sqrt(1+4x^2) dx ).

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


Jan Krumsiek

unread,
Feb 17, 2002, 4:35:26 PM2/17/02
to
> 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.


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

Hendrik van Hees

unread,
Feb 18, 2002, 3:40:21 AM2/18/02
to
Jan Krumsiek wrote:

> 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

0 new messages