- Labornetzteil AliExpress         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 24

Thema: Berechnung der Zahl Pi

  1. #11
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    31
    Beiträge
    601
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hi,

    ich hab mal eben mein Programm wieder herausgesucht.

    Mit der oben stehender Reihenentwicklung ändert sich ab 14 Durchläufen im Wertebereich von "long double" nichts mehr an den Stellen. Wegen Rundungsfehlern (vermute ich mal) und sonstigen Ungenauigkeiten stimmen aber nur 18 (Nachkomma-)Stellen überein.

    Die Dauer kann ich nicht genau angeben, sie ist aber weit unter einer Sekunde. Beim Ausführen aus dem Terminal merke ich so gut wie keine Verzögerung der Ausgabe.

    Viele Grüße

  2. #12
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.653
    Hi,

    soweit ich mich erinnere, hatte Hilbert kurz vor 1900 die Transzendenz der Zahl Pi bewiesen. Es gibt also kein Ende der Nachkommastellen. Aktuell dürfte (wieder einmal oder noch immer) den Weltrekord an Nachkommastellen Kanada halten (Professor an der Uni Tokio).

    Eine Möglichkeit Pi genau zu berechnen (die auch mal von Kanada benutzt wurde) ist:

    pi = 48*arctan(1/49) + 128*arctan(1/57) - 20*arctan(1/239) + 48*arctan(1/110443) oder

    pi = 176*arctan(1/57) + 29*arctan(1/239) - 48*arctan(1/682) + 96*arctan(1/12943)hoch23

    Siehe dazu auch:
    http://de.wikipedia.org/wiki/Yasumasa_Kanada
    http://www.spektrum.de/artikel/824381&_z=798888
    und natürlich besonders hier: http://www.pi314.at/download/PiPi.exe.html

    Damit will ich natürlich diesen interessanten Thread keinesfalls stören. Und eine Anmerkung: ich bin KEIN pi-Enthusiast. Und noch eine: eine gewisse Herausforderung bei dieser Berechnung ist es, einen Algorithmus zu finden, der das Durchschlagen von Rundungsfehlern auf die Berechnung der einzelnen Stellen verhindert.
    Ciao sagt der JoeamBerg

  3. #13
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    37
    Beiträge
    270
    Ah okay. Ja, mit dieser Reihe bekomm ich in der Tat auch 14 Stellen hin, bei 10 Durchläufen.

    Ich hatte vorher eine andere Reihe versucht:
    (1 / (1 ^ 2)) + (1 / (2 ^ 2)) + (1 / (3 ^ 2)) + (1 / (4 ^ 2)) + ........

    und das Ergebnis dann mit 6 multipliziert und daraus die Wurzel gezogen.

    Aber was hat es denn mit diesen Reihen auf sich?
    Eine wirkliche Berechnung von Pi ist es eigentlich nicht oder?
    Es ist einfach nur eine Annäherung an das Ergebnis von Pi.

    Oder wie muss man das verstehen?

    Mein Ziel ist es ja nicht einfach nur durch Rechnung auf eine Zahl zu kommen die gleich Pi ist. Sondern mein Ziel ist es ja eigentlich die Zahl Pi wirklich zu berechnen.

    Versteht ihr was ich meine?
    Wer aufhört besser zu werden, hat aufgehört gut zu sein

    Jeder I/O Port kennt drei Zustände: Input, Output, Kaputt

  4. #14

  5. #15
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Zitat Zitat von robodriver
    Ah okay. Ja, mit dieser Reihe bekomm ich in der Tat auch 14 Stellen hin, bei 10 Durchläufen.

    Ich hatte vorher eine andere Reihe versucht:
    (1 / (1 ^ 2)) + (1 / (2 ^ 2)) + (1 / (3 ^ 2)) + (1 / (4 ^ 2)) + ........
    Wenn es dir um eine möglichst gute Annäherung für Pi geht, solltest du nicht wahllos rumprobieren. Es gibt viele Formeln, die Pi enthalten, so wie dieser Reihe. Aber sie unterscheiden sich extrem in ihrer praktischen Tauglichkeit. Es ist auch Pi/4 = 1-1/3+1/5-1/7+1/9... aber selbst mit 10000 Reihenglieder bringen dich kaum ans Ziel.

    Zitat Zitat von robodriver
    und das Ergebnis dann mit 6 multipliziert und daraus die Wurzel gezogen.
    Aber was hat es denn mit diesen Reihen auf sich?
    Eine wirkliche Berechnung von Pi ist es eigentlich nicht oder?
    Es ist einfach nur eine Annäherung an das Ergebnis von Pi.
    Nein. Es ist
    Bild hier  
    wobei B_n die Bernoulli-Zahlen sind. Für n=1 erhältst du die von dir genannten Reihe, deren Grenzwert exakt Pi²/6 ist.

    Zitat Zitat von robodriver
    Oder wie muss man das verstehen?

    Mein Ziel ist es ja nicht einfach nur durch Rechnung auf eine Zahl zu kommen die gleich Pi ist. Sondern mein Ziel ist es ja eigentlich die Zahl Pi wirklich zu berechnen.

    Versteht ihr was ich meine?
    Nein, nicht wirklich... Du kannst Pi im Computer nicht exakt darstellen. Es sei denn du rechnest symbolisch und schreibst Pi hin, aber das bringt dir hier auch nix. Du kannst Pi lediglich auf eine bestimmte Fehlergrenze annähern.

    Sehr praktikabel ist die Formel von Borwein & Borwein die, ikarus_177 genannt hat. Mit Float-Arithmetik ist die Formel aber vollkommen vergewaltigt! Es ist eine der erstaunlichsten Formeln für Pi die erlaubt, die n-te Nachkommastelle von Pi ohne die Kenntnis der vorhergehenden Stellen zu berechnen! ... vorausgesetzt natürlich, man setzt die Formel richtig ein. Siehe dazu:
    http://math-www.uni-paderborn.de/~ag...tian-aland.pdf

    Sie liefert allerdings die Stellen in Hex-Darstellung.
    Disclaimer: none. Sue me.

  6. #16
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    37
    Beiträge
    270
    Okay, korrigiert mich wenn ich falsch liege.

    Aber die ganzen Kettenrechnungen sind doch bestimmt erst entstanden als man die Zahl Pi bereits kannte.
    Und sie dienen doch eigentlich nur dazu um möglichst schnell mit wenig Aufwand Pi beliebig genau heraus zu bekommen um damit eventuell weiter zu rechnen wenn mans braucht.

    In einer Zeit in der man noch dachte Pi sei z.B. 3,14 da hat man sich ja sicher nicht hin gesetzt und solche Kettenrechnungen auf zu stellen um die anderen Stellen heraus zu finden. Oder?
    Man muss doch die Zahl Pi an sich erstmal finden. Und nach dem was ich bisher so gefunden habe in meinem Tabellenbuch geht das nur indem man Die Fläche eines Kreises durch das Quadrat seines Radiuses rechnet. Oder den Umfang durch den Durchmesser dividiert. Das sind doch die einzigen Möglichkeiten Pi heraus zu finden, wenn man die Zahl vorher nicht kennt.

    Ich kenn mich mit dem Thema nicht so super tief aus. Vielleicht denk ich auch in eine falsche Richtung.
    Aber vielleicht wisst ihr jetzt besser, was genau ich meine.

    Mir geht es nicht darum durch irgendeine beliebig lange wilde Rechnung ein Ergebnis zu erhalten, was zufällig 3,14... usw ist. Ich will durch die Grundrechnung Umfang / Durchmesser drauf kommen. So wie man die Zahl Pi halt gaaaanz früher ermittelt hat, als man sie noch nicht kannte.
    Wer aufhört besser zu werden, hat aufgehört gut zu sein

    Jeder I/O Port kennt drei Zustände: Input, Output, Kaputt

  7. #17
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.653
    Hi robodriver,

    Zitat Zitat von robodriver
    ... wie man die Zahl Pi halt gaaaanz früher ermittelt hat, als man sie noch nicht kannte.
    Jetzt habe ich Deine Fragestellung verstanden (vorher nicht so richtig *ggg*).

    Nun weiß ich leider nicht genau, wer das früher wie gemacht hat. Vielleicht hilft es Dir, wenn wir fragen "... wie man die Zahl Pi halt ermittelt, wenn man Pi und diese Endlosrechnungen nicht so kennt oder nicht so kann". Da hätten wir dann ungefähr den Stand von "früher".

    Wir zeichnen dazu einen Kreis mit dem Durchmesser 1. Du machst ein Quadrat um den Kreis >>dessen Seiten<< den Kreis berühren und ein Quadrat in den Kreis >>dessen ECKEN<< den Kreis berühren. Ok? Das Quadrat um den Kreis hat den Umfang 4D, also 4, das Quadrat im Kreis hat den Umfang 4*1/Wurzel2 (vier mal eins durch Wurzel aus zwei) - nach meinem Taschenrechner etwa 2,83 (ich habe keine Lust alle die Stellen abzuschreiben). Nun zeichne wir statt des Quadrates ein Achteck - und rechnen beide Umfänge aus, danach ein 16-eck (oder ein Neuneck oder so - eben immer mehr Ecken). Wieder liegen aussen die Seiten am Kreis an und innen die Ecken. Jedesmal den Umfang berechnen. Je mehr Ecken Dein Vielfacheck hat (Du hast das ja schon ziemlich ähnlich angenähert mit Deinem 100Millionen-eck), umso mehr nähern sich die beiden Umfänge dem Kreisumfang.

    Die Anschauung zeigt, das der Umfang des Quadrats, in dem der Kreis eingeschrieben ist, grösser als der Kreisumfang ist, der Umfang des im Kreis eingeschriebenen Quadrates ist aber kleiner als der Kreisumfang. Diese Feststellung betrifft die Umfänge aller Vielecke. Der wahre Umfang des Kreises wird irgendwo dazwischen liegen, egal wieviele Ecken Deine Vielecke haben. Ansporn zu diesem Rechenmarathon: der Umfang von Vielecken, vor allem von regulären, lässt sich relativ einfach berechnen . . . . . Jetzt sag mir aber bitte nicht, dass Du dazu etwas fast noch Komplizierteres brauchst, nämlich die Winkelfunktionen . . . . Es sollte ja nur ein Gedankenexperiment sein.
    Ciao sagt der JoeamBerg

  8. #18
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Zitat Zitat von robodriver
    Okay, korrigiert mich wenn ich falsch liege.

    Aber die ganzen Kettenrechnungen sind doch bestimmt erst entstanden als man die Zahl Pi bereits kannte.
    Was meist du demm mit "Pi kennen"? Eine Formel kennen? In der Antike waren nur Näherungen wie 3 oder 3+1/8 für Pi geläufig, und es war zunächst nichtmal klar, daß das Verhältnis von Umfang zu Durchmesser eines Kreises unabhängig von der Größe des Kreises ist.

    Einen interressanten historischen Abriss findest du in
    http://de.wikipedia.org/wiki/Kreisza...zur_Rekordjagd

    Zitat Zitat von robodriver
    Und sie dienen doch eigentlich nur dazu um möglichst schnell mit wenig Aufwand Pi beliebig genau heraus zu bekommen um damit eventuell weiter zu rechnen wenn mans braucht.
    Nein, die Formeln dienen idR nicht dazu, auch wenn eineige dazu verwendet werden (können). Die Formeln legen mathematische Zusammenhänge offen. Der Genaue Wert für Pi ist in der Mathe ziemlich irrelevant und uninteressant, genau wie der exakte Wert für e.

    Interessant sind die Zusammenhänge wie die fundamentale Euler'sche Identität

    Bild hier  

    [quote="robodriver"]Man muss doch die Zahl Pi an sich erstmal finden. Und nach dem was ich bisher so gefunden habe in meinem Tabellenbuch geht das nur indem man Die Fläche eines Kreises durch das Quadrat seines Radiuses rechnet. Oder den Umfang durch den Durchmesser dividiert. Das sind doch die einzigen Möglichkeiten Pi heraus zu finden, wenn man die Zahl vorher nicht kennt.

    Ich kenn mich mit dem Thema nicht so super tief aus. Vielleicht denk ich auch in eine falsche Richtung.
    Aber vielleicht wisst ihr jetzt besser, was genau ich meine.
    [/quot]
    Ja, jetzt ist's endlich klarer

    Für den historischen Abriss s.o., oder Tante Gundel fragen.
    Disclaimer: none. Sue me.

  9. #19
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    37
    Beiträge
    270
    Okay gut, sorry wenn ich mich vorher etwas missverständlich ausgedrück habe.
    Jetzt wisst ihr ja worauf ich hinaus will.

    Prinzipiell habe ich es unbewusst so gerchnet wie oberallgeier beschrieben hat. zwar nicht mit dem Umfang von n-Ecken aber halt mit dem Pytagoras.
    Ich habe mal ein Bild angehangen.
    Kreismittelpunkt ist der Koordinatenursprung. Dann berechne ich das Blaue Dreieck. Hypotenuse ist ja gleich dem Kreisradius. also rechne ich einfach inner radius^2 - x^2 und ziehw daraus die Wurzel. Dann habe ich die y-Komponente und weiß die Koordinaten der Dreieckspitze auf dem Umfang.
    Das ganze mache ich halt für mehrere x-Werte und berechne dann linear die Strecke der ganzen Koordinaten (grüne Linie). Dann halt nur noch mal 4 und durch den zweifachen Radius.

    So. Aber über diese Methode habe ich wie gesagt das Problem, das ich mit einem Radius von 10 Million und 10 Millionen Dreiecken 12 Nachkommastellen heraus bekomme.
    Aber mit 60 Million nur noch 11 Stellen.
    Und da ist halt die Frage woran das liegen könnte.
    Und: Wie man es hin bekommt mehr Stellen zu berechnen. Also wie man diese Rechenmethode "tunen" kann, so das sie genauere Ergebnisse liefert.

    Um einen Rundungsfehler bei den Wurzeln und Quadraten aus zu schließen hab ich schon gedacht, vielleicht kann man die Zahlen so weit verändern, das zum schluss als Ergebnis z.B. 314159,26535 usw... raus kommt. Dass also die 12. Nachkommastelle quasi dann die 7. ist. Aber mir ist noch nicht wirklich eine Idee gekommen wie man das sinnvoll umsetzen könnte. Das ganze müsste ja quasi direkt in den Pytagoras eingebaut werden.
    Wenn ich danach einfach mit 10.000 Multipliziere ists ja Arschlos...
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken kreis_berechnung.jpg  
    Wer aufhört besser zu werden, hat aufgehört gut zu sein

    Jeder I/O Port kennt drei Zustände: Input, Output, Kaputt

  10. #20
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.653
    Hi robo,

    Zitat Zitat von robodriver
    ... Um einen Rundungsfehler ... aus zu schließen ... die Zahlen so weit verändern, das zum schluss ... z.B. 314159,26535 usw... raus kommt ...
    ... jetzt muss ich noch ein kleines Detail aus der numerischen Mathematik erklären. Die Darstellung ist abgespeckt mit Rücksicht auf Kürze und Verständlichkeit (hoffentlich) und daher mathematisch nicht vollständig und auch nicht allgemeingültig. Wenn Du es kurz machen willst, lies einfach nur den vorletzten Absatz, evtl. noch das Fazit *ggggg* - der Rest ist eigentlich nicht zum Lesen bestimmt.

    Digitalrechner rechnen Gleitkommawerte standardmässig u.a. mit einfacher Genauigkeit oder mit doppelter Genauigkeit. Sie rechnen alle Zahlen in binärer Darstellung mit Nullen und Einsen. Jede Zahl (natürlich auch unsere Zahlen aus dem dekadischen Zahlensystem) werden von rechts nach links steigend (das ist einfach eine Vereinbarung) in die Potenzen von zwei aufgeteilt. Steht eine "1" da, ist der Wert der entsprechenden Potenz enthalten, steht eine "0" da, ist die Potenz nicht enthalten. Die erste Stelle ganz rechts repräsentiert den Wert 2° (zwei hoch Null) - also EINS, die zweite Stelle 2 hoch eins - also ZWEI, die dritte Stelle 2² - also vier usw. Daher hat beispielsweise 0101 den (dekadischen) Zahlenwert fünf, nämlich 2° + 2².

    Damit kann ich aber nur ganze Zahlen darstellen. Gleitkommazahlen werden in logarithmischer Schreibweise dargestellt. Du weißt aus der Schule (oder hast es wie wir fast alle mehr oder weniger vergessen), dass der Logarithmus einer beliebigen Zahl aus einer Zahl mit Kommastrich besteht: der (landläufig bezeichnet Mantisse, also dem eigentlichen Logarithmus - sozusagen - das ist die Ziffernfolge nach dem Komma und dem Exponenten, das ist die Hochzahl, mit der die "Wertigkeit" der delogarithmierten Mantisse bestimmt wird. Klar bis hierher? Halbwegs hoffentlich.

    Einfach genaue Zahlen (single precision) werden mit einem Byte = 8 Bit für den Exponenten und (fast) drei Bytes dargestellt. In den 3x8 Bytes ist nämlich auch das Vorzeichenbit enthalten. Mit Vorzeichenbit werden also vier Byte komplett verwendet. Berechnet man daraus die ursprüngliche, dekadische Zahl erhält man eine Ziffernfolge, die auf etwa sieben Stellen genau ist. Dies ist unterstrichen, weil es die eigentliche Aussage dieses ganzen Sermons ist. Du kannst also mit dieser Darstellung die Zahl ╥ (pi) z.B. angeben mit 3,1415926535 - mit der schwarzen Ziffernfolge. Die hellblauen Ziffern sind NICHT mehr fassbar.

    Man spricht in diesem Falle, dass mit single precision sieben signifikanten Stellen darstellbar sind. Es ist dabei völlig gleichgültig, ob diese Stellen beliebig aufgeteilt vor oder nach dem Kommastrich stehen - nur die Ziffernfolge ist durch die Mantisse mit den drei Bytes (minus dem Vorzeichenbit) definiert. Die Wertigkeit wird durch den Exponenten bestimmt. Die Darstellung 31415,926535 wird also auf Rechnerbasis die gleiche Mantisse haben. Eine höhere Genauigkeit - sprich: mehr signifikante Stellen - bekommst Du mit double precision - etwa 15 Stellen - dann werden die oben gezeigten blauen Ziffern schwarz - und noch ein paar dazu und pi würde 3,14159 26535 89793 23846 - der Rest ist noch immer nicht darstellbar.

    Fazit: Deine Verschiebung des Kommastriches hilft Dir nicht - es zählen bei den hier behandelten Wertdarstellungen nur die signifikanten Stellen.
    Ciao sagt der JoeamBerg

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test