Hallo,
ich möchte für Testzwecke ein Scripte oder ein kleines C-Programm
schreiben, das auf einem Server ausgeführt werden kann und Pi berechnen
kann.
Ich weiß, dass es einen ganzen Haufen von Verfahren und Algorithmen
gibt, mit denen man Näherungswerte berechnen kann.
Meint ihr es ist möglich in abmessbarer Zeit ein eigenes Verfahren zu
entwickeln oder ein existierendes Verfahren zu verändern, das würde das
ganze ein bisschen interessanter machen.
Danke,
Max
ich denke du wirst wohl keine neues Verfahren erfinden, also macht es
mehr sinn ein vorhandens zu verstehen.
Z.b. das hier (nicht auf meinen mist gewachsen)
Ein schönes Buch, das auch C-Algorithmen hat ist:
Pi,Algorithmen,Computer, Arithmetik
von Jörg Arndt und Christoph Haenel, Springer 1998.
ISBN: 3540634193
Sicher gibt es auch schon neuere Auflagen.
Gruß
MAX
Hallo,
warum kompliziert, wenn doch PI schon on Board ist:
pi=atan(1.0)*4.0;
Sinus + Cosinus sind bei 45 Grad gleich; also ist der Tangens dann 1 und
der Arkustangens von 1 im Bogenmaß ein Viertel von PI.
zugegeben: die anderen Verfahren sind origineller
Grüsse
Franz
Mike schrieb:
> http://de.wikipedia.org/wiki/Leibniz-Reihe
Eine Herausforderung für jeden Rechner. Die Konvergenz ist so mies, daß
sie nur theoretisch vorliegt. Wer schafft, damit π auf 1000
Nachkommastellen zu bestimmen, ist ein Gott :-)
Franz schrieb:
> pi=atan(1.0)*4.0;
Der Weg ist das Ziel. Ansonsten
1
pi=M_PI;
Fuzzy schrieb:
> http://de.wikipedia.org/wiki/Bailey-Borwein-Plouffe-Formel
Ganz nett, hatte ich mal auf nem C64 um π auf 1024 Binärstellen zu
bestimmen. Allerdings bekommt man damit nur die Stellen im 16er-System,
die mühsam ins Dezimalsystem umgerechnet weren müssen.
Gute Konvergenz haben auch Ramanujan-Reihen wie
Da 0-te Glied der Entwicklung approximiert π bis auf einen Fehler von
~0.000000076.
Johann
Bäh. Wer wird denn auf Konvergenz wert legen, wenn man ein wenig Spass
mit Algorithmen haben kann.
Hast du schon Folgendes ins Auge gefasst:
Gegeben sei ein kreisrunder Teich. An diesen Teich legst du ein Quadrat
an. Dann nimmst du viele, viele Steine und lässt sie zufällig auf diese
Konstruktion fallen (wobei alle Abwürfe nur innerhalb des Quadrats
stattfinden). Du zählst, wieviele Steine du abgeworfen hast und wie oft
es Platsch gemacht hat. Aus dem Verhältnis dieser beiden Zahlen kann man
Pi berechnen. Je mehr Abwürfe, desto genauer wird das Ergebnis.
(Für den Computer genügt es, wenn man nur einen Viertelkreis im ersten
Quadranten betrachtet und das umschliessende Quadrat dementsprechend
verkleinert)
Edit: Seh gerade, dass der Thread schon himmelalt ist. Der OP wird wohl
nicht mehr hier herumhängen.
Blackbird schrieb:
> 355 / 113>> (auf 6 Stellen genau)
Und wie geht's weiter? Ich wüsste nicht, daß die Kettenbruchentwicklung
von Pi inzwischen bekannt wäre ausser eben die empirisch berechneten
Reihenglieder.
Karl heinz Buchegger schrieb:
> Hast du schon Folgendes ins Auge gefasst:>> Gegeben sei ein kreisrunder Teich. An diesen Teich legst du ein Quadrat> an. Dann nimmst du viele, viele Steine und lässt sie zufällig auf diese> Konstruktion fallen (wobei alle Abwürfe nur innerhalb des Quadrats> stattfinden). Du zählst, wieviele Steine du abgeworfen hast und wie oft> es Platsch gemacht hat. Aus dem Verhältnis dieser beiden Zahlen kann man> Pi berechnen. Je mehr Abwürfe, desto genauer wird das Ergebnis.
Oder das: Nimm eine Stecknadel und lass sie auf einen Dielenboden
fallen, dessen Planken den Abstand haben wie die Länge der Stecknadel.
Lass die Stecknadel immer wieder auf den Boden fallen und zähle, wie
groß die Wahrscheinlichkeit ist, daß sie über einer Ritze liegt. Nimm
den Kehrwert, multipliziere mit 2 und du hast Pi.
Johann
Oh Mann, Ihr habt nix besseres zu tun, als das Rad immer wieder neu zu
erfinden...
Nehmt einfach pi=3,14159... und gut ist!
Oder wär das:
Kreisumfang = Kreisdurchmesser*3+20%
Dann ist halt pi=3,2
Alm-Öhi schrieb:
> Oh Mann, Ihr habt nix besseres zu tun, als das Rad immer wieder neu zu> erfinden...> Nehmt einfach pi=3,14159... und gut ist!
Darum gehts doch gar nicht :-)
In diesem Fall ist der Weg das Ziel!
https://home.comcast.net/~davejanelle/mandel.html
ist auch ganz witzig, habs mal schnell implementiert:
public class PI_Generator
{
static long N = 10000000000L;
static double epsilon = 0.0000001;
//C-Werte checken nach Zn+1 = Zn^2 + C, Zo = 0
public static long checkC(double reC,double imC)
{
double reZ=0,imZ=0,reZ_minus1=0,imZ_minus1=0;
long iterationen;
for (iterationen=0;iterationen<N;iterationen++)
{
imZ=2*reZ_minus1*imZ_minus1+imC;
reZ=reZ_minus1*reZ_minus1-imZ_minus1*imZ_minus1+reC;
if (reZ*reZ+imZ*imZ>4)
return iterationen;
reZ_minus1=reZ;
imZ_minus1=imZ;
}
return iterationen;
}
public static void main(String[] args)
{
System.out.println(epsilon * checkC(-0.75,epsilon));
}
}
Da es ja hier grad so schön um PI geht:
Ich habe mal gelesen/gehört, dass das Verhältnis zwischen Länge und
Luftlinienentfernung von Quelle/Mündung bei größeren Flüssen 3.14 ist.
Kann das jemand bestätigen?
Die Methode von Karl-Heinz heisst übrigens Monte-Carlo-Algorithmus. ;)
Sid schrieb:
> Da es ja hier grad so schön um PI geht:>> Ich habe mal gelesen/gehört, dass das Verhältnis zwischen Länge und> Luftlinienentfernung von Quelle/Mündung bei größeren Flüssen 3.14 ist.> Kann das jemand bestätigen?
Google findet vieles dazu
zb
http://www.nensch.de/story/2005/11/22/19417/736
Also, ich hab jetz im Kopf:
3,141592653989793238462643383279
Kein Witz, soweit weiß ich Pi auswendig.
Es gibt aber Leute, die davon ein paartausend Stellen wissen.
Und wer die 3,14 ganz genau haben will,
-> http://www.aip.de/~wasi/PI/Pibel/pibel_10mio.pdf
Wobei der Begriff Luftlinie auch interpretationsbedürftig ist. Die kann
man nämlich nicht einfach auf einer Karte mit dem Lineal abmessen, weil
es auf die Kartenprojektion, das verwendete Modell des
Rotationselipsoids der Erde usw ankommt. Bei kurzen Strecken meist
vernachlässigbar aber hier geht es ja um lange Flüsse.
Autor schrieb:
> Also, ich hab jetz im Kopf:> 3,141592653989793238462643383279> Kein Witz, soweit weiß ich Pi auswendig.
Nö, offenbar nicht :-)
Ich hatte als Gedächtnisübung mal e (ist einfacher zu berechnen als Pi)
auf 300 Stellen auswendig gelernt. Ging recht flott in ca. einem Tag,
war aber recht flüchtig. Hängen geblieben ist's nur bis
2.71828182845904523536
(glaub ich zumindest mal)
Johann
Ich würde gerne mal wissen wie beim Kosmos CP1
(http://de.wikipedia.org/wiki/Kosmos_CP1) die Zahl PI berechnet wurde.
Leider habe ich die Anleitung für das Speicher-Modul CP3 nicht, dort
soll dieser Algorithmus stehen. Sorry , ich wollte diesen Thread nicht
kapern, aber ich denke meine Frage passt ein bischen zum Thema. Oder
soll ich einen neuen Thread aufmachen?
3,141592653989793238462643383279 ist FALSCH! ich kenne den wert zwar nur
bis 3,1415926535898 (letzte Zahl gerundet) auswendig, aber ich weiß,
dass an der 10. Nachkommastelle also nach der "3" eine "5" steht!
Peter Müller schrieb:> ist FALSCH!
Das schrieb Johann bereits vor 6 Jahren, für diese Weisheit hättest
du den Thread nicht ausgraben müssen, zumal nur wenig weiter oben
schon ein sehr viel genauerer Wert niedergeschrieben worden ist.