Eine brauchbare Methode PI auszurechnen?



  • Hiho!
    Ich hatte vor einigen Monaten ein Wenig Langeweile im Mathematikunterricht, woraufhin ich mir überlegt habe, wie man wohl PI ausrechnen könne. Das Erste was mir einfiel war ähnlich wie bei der Integralrechnung vorzugehen. Man nimmt einfach viele bzw. unendlich kleine Dreiecke und zählt die Längen zusammen.
    Im Grunde ist ja PI nix anderes, als das Verhältniss des Umfangs zum Durchmesser.

    Hier ein Beispiel:
    Ein Kreis habe einen Durchmesser von 1cm.
    Man nehme nun 360 Dreiecke wovon jedes logischerweise einen Winkel von 1° hat und die Grundseite der Radius(r) sowie die Höhe(h) einen Teil des Umfangs ist.

    Über das Teil-Dreieck ist also folgendes bekannt:
    Grundseite: 0,5cm (Der Radius)
    Winkel: 1°

    Man kann also folgende Gleichung benutzen:
    tan(1°) = h/r

    Stellt man die Formel um, erhällt man:
    h=tan(1°)*r

    Nimmt man dieses Teilergebnis mal 360° erhällt man: 3,141911687079165437723201139551
    Wir wissen nun, dass wenn der Durchmesser eines Kreises 1cm ist, der Umfang rund 3,14cm beträgt.

    Hm, sieht der Zahl PI ja schonmal ähnlich. 🙂 Da 1° ein ziemlich "eckiger Kreis" sein dürfte, ist es nicht verwunderlich, dass der Wert vom "echten" PI etwas abweicht.

    Um PI zu erhalten, ergibt sich also folgende Formel:
    PI=tan(Grad)*0,5*360*(1/Grad)

    Jetzt Wiederholen wir mal das Ganze, bloß diesmal nehmen wir nicht einen Winkel von 1° sondern 0,000001° bzw. 1*10^-6°

    PI=tan(1*10-6)*0,5*360*1/(1*10-6) = 3,1415926535897935574572594357468
    hm, schon besser. 🙂

    Jetzt mal mit 1*10^-20°: 3,1415926535897932384626433832795
    Na hoppla, wenn das mal nicht PI ist. 🙂 Leider spuckt der Windows Taschenrechner keine weiteren Nachkommastellen aus, aber das Ergebnis scheint relativ genau zu sein. Es stimmt zumindest mit der PI Konstante die dort eingebaut ist exakt überein.

    Nun schwirren mir da seit Tagen diese Fragen durch den Kopf:

    1. Rechnet man so PI aus? Es gibt doch immer so leute die neue Rekorde aufstellen weil sie weitere Nachkommastellen herausgefunden haben. Machen die das auch mit dem Einheitskreis und basteln da Dreiecke rein, oder geht das eleganter?

    2. Theoretisch müsste ich doch mit meinen Rechner so einen Rekord knacken können, oder würde es an der Rechenzeit scheitern?

    3. Wie wollen die Beweisen, dass die Stellen auch stimmen?

    edit:
    4. Wie kann der Rechner das ausrechnen? Die Datentypen sind doch von der Nachkommaanzahl beschränkt, bzw. die FPU kommt doch irgendwann nichtmehr mit!?

    Würde mich einfach mal interessieren...



  • Perner schrieb:

    1. Rechnet man so PI aus? Es gibt doch immer so leute die neue Rekorde aufstellen weil sie weitere Nachkommastellen herausgefunden haben. Machen die das auch mit dem Einheitskreis und basteln da Dreiecke rein, oder geht das eleganter?

    google arcustangensreihe
    http://3pi.org/Mathematik/Facharbeit/morandell/

    2. Theoretisch müsste ich doch mit meinen Rechner so einen Rekord knacken können, oder würde es an der Rechenzeit scheitern?

    rechenzeit. außerdem wäre es priffig, genug ram zu haben, damit die langen zahlen da reinpassen. du hast bloß 4G, oder?

    3. Wie wollen die Beweisen, dass die Stellen auch stimmen?

    mit anderem prozessor und von anderem menschen programmierten code nochmal laufen lassen und vergleichen, vermute ich.

    4. Wie kann der Rechner das ausrechnen? Die Datentypen sind doch von der Nachkommaanzahl beschränkt, bzw. die FPU kommt doch irgendwann nichtmehr mit!?

    man baut sich nen eigenen zahlentyp für lange zahlen, die dann zum beispiel in einem sehr langen array of char gehalten werden.
    google karatsuba



  • volkard schrieb:

    rechenzeit. außerdem wäre es priffig, genug ram zu haben, damit die langen zahlen da reinpassen. du hast bloß 4G, oder?

    Um genau zu sein 1GB. 🙂 Aber bei solchen "experimenten" werden meist riesige Clustersysteme verwendet. Ich denke mal um die 128GB könnten da schon drinn sein. (32*4GB)

    volkard schrieb:

    google arcustangensreihe
    http://3pi.org/Mathematik/Facharbeit/morandell/

    man baut sich nen eigenen zahlentyp für lange zahlen, die dann zum beispiel in einem sehr langen array of char gehalten werden.
    google karatsuba

    Danke, sehr brauchbare Informationen die du mir da gibst. 🙂

    Darf ich fragen wie Alt du bist oder wie lange du schon programmierst, bzw. hast du ne HP?



  • Guck mal da. Ist wohl zur Zeit eine der schnellsten bekannten Folgen um PI zu berechnen. Man kann mit ihr auch einzelne Ziffern von PI (ohne die vorigen Zwischensummen kennen zu müssen) berechnen. Für andere Algorithmen kann man die BBP also als Referenz zum vergleichen nehmen.

    Gruß
    Xul



  • Ich hab eine Vermutung bezüglich des Algorithmuses von Perner,
    vll. kann die einer Bestätigen oder Widerlegen. Würd mich einfach
    interessieren ob das so stimmt:

    Benutzt die Funktion tan vll. direkt oder auch indirekt schon die Zahl PI?
    Das würde dann die begrenzte Genauigkeit des Algos erklären.
    Da er PI mit der gleichen Genauigkeit ausgibt, wie PI in tan verwendet wurde.

    Könnte das sein?



  • Storm.Xapek.de schrieb:

    Ich hab eine Vermutung bezüglich des Algorithmuses von Perner,
    vll. kann die einer Bestätigen oder Widerlegen. Würd mich einfach
    interessieren ob das so stimmt:
    Benutzt die Funktion tan vll. direkt oder auch indirekt schon die Zahl PI?
    Das würde dann die begrenzte Genauigkeit des Algos erklären.
    Da er PI mit der gleichen Genauigkeit ausgibt, wie PI in tan verwendet wurde.
    Könnte das sein?

    unwahrscheinlich.
    man könnte den tangens zum beispiel so ausrechnen:
    http://de.wikipedia.org/wiki/Tangens
    siehe Reihenentwicklung

    bestimmt haben die prozessorbauer noch viel geilere verfahren, aber ich nehme nicht an, daß PI dazu benötigt wird.



  • http://www.koders.com/c/fidBFB4DC822D680A879C9605D7DB448F87D1F0C3AF.aspx?s=__kernel_tan
    Vielleicht kann man daraus Informationen ziehen. Ich selbst versteh nur Bahnhof. 😞



  • tan.c schrieb:

    [url]http://www.koders.com/c/
    Vielleicht kann man daraus Informationen ziehen.:(

    nein, da bräuchte man kernel_tan





  • jupp, im Kommentar steht doch der Algo



  • Hallo

    Wenn Du wissen willst, wie man die Dezimalentwicklung von PI approximiert,
    dann gib mal auf Google ein die 3 Suchbegriffe

    borwein 51 billion

    und schau den ersten Treffer an.

    PS. Du solltest einen Händler mit günstigen Preisen für Speicherriegel kennen, wenn Du den aktuellen Rekord schlagen willst, der liegt nämlich bei über 51 Milliarden Nachkokmmastellen ... 🙂

    Grüße



  • Hallo

    Sehe gerade, daß der Rekord seit ein paar Jahren gar nicht mehr bei
    51 Milliarden, sondern schon bei 1.2 Billionen Stellen ist.
    Ich schätze mal, das ist mit normaler PC-Hardware nicht zu schlagen.

    Grüße



  • Hobbyprogrammierer schrieb:

    Ich schätze mal, das ist mit normaler PC-Hardware nicht zu schlagen.

    Stimmt, außer man heißt Bill Gates und seine normale PC-Hardware ist ein Großrechenzentrum. Kann ja sein ...

    Worauf ich aber eigentlich wollte ist:

    Stimmt nicht dass:

    arccos( -1 ) = 3,14...
    

    oder:

    arctan( 1 ) * 4 = 3,14...
    

    Mit freunlichen Grüßen und endlich über die Länge seines Namens bewusst werdent
    Rhombicosidodecahedron

    P.S: Hoffentlich sind die Formeln richtig (<= nicht überprüft)
    P.P.S: Wäre nett wenn ihr mir den Latex Code dazu geben könnt ...



  • Zur vorherigen Nachricht:
    die beiden Formeln (wenn sie richtig sind) sollen den Pi-Wert von dem Computer ermitteln.

    Im Beitrag von "Cris++" "Hab' mal eine Frage" bin ich auch tätig und habe dank eines netten Kollegens Wind von der "Richmannsche Zeta-Formel" (wenn ich sie richtig geschrieben ist) bekommen (müsste zweite Steite sein).

    Diese Formel nämlich auch eine Möglichkeit Pi auszurechnen ...

    Mit freundlichen Grüßen und meinen Kollegen sehr dankend
    Rhombicosidodecahedron



  • Also wenn du nach Methoden suchst, um Π zu approximieren, dann leg ich dir mal http://de.wikipedia.org/wiki/Pi_(Kreiszahl) ans Herz.

    //e: Gehn die BBCodes nicht?



  • XFame schrieb:

    //e: Gehn die BBCodes nicht?

    Wenn du eine Antwort schreibst gehst du unter
    Zeige Optionen und dort das Kontrollfeld neben
    BBCode in diesem Beitrag deaktiveren [http://www.c-plusplus.net/forum/faq.php?mode=bbcode]
    deakivieren (, sodass das Feld leer ist).

    Wahrscheinlich (gleichbedeutend mit :"Ist eine Idee, weiß es aber (noch) nicht") kann man unter seinem Profil den Standardwert einstellen, d.h. man
    muss nur noch dort ein Kaken neben dem enstprechendn Text entfernen und schon muss man es nicht mehr bei jeder Antwort machen ... (Vorausgestezt es stimmt was ich denke)

    Das müsste man es anzeigt bekommen ...


Anmelden zum Antworten