Du Pflaume
Punkt vor Strichrechnung oder nicht?
[autoit](pi^2)/4+4
[/autoit]heißt:
Pi hoch 2 / 4 + 4
also ((Pi²)/4)+4
Du Pflaume
Punkt vor Strichrechnung oder nicht?
[autoit](pi^2)/4+4
[/autoit]heißt:
Pi hoch 2 / 4 + 4
also ((Pi²)/4)+4
Das sollte jetzt passen:
[autoit]
$pi = 0
For $k = 1 To 100000 Step 2
$pi += 1 / $k^2
Next
ConsoleWrite(Sqrt($pi) * Sqrt(8) & @CRLF)
Gruß,
UEZ
Oder auch so.
[autoit]
$ergebnis = 0
for $x = 1 To 999999 Step 2
$ergebnis = $ergebnis + 1/($x*$x)
Next
MsgBox(64, "", Sqrt($ergebnis*8))
edit: ouh ya endlich mal vor misterspeed ;D
Leonhard Euler führte in seiner im Jahre 1748 erschienenen Introductio in Analysin Infinitorum im ersten Bande π bereits auf 148 Stellen genau an. Von Euler entdeckte Formeln (s. auch riemannsche ζ-Funktion
[Blockierte Grafik: http://upload.wikimedia.org/math/c/3/2/c329cfc147a39ff10ec663227f3d493b.png]
So lautet die korrekte Formel. Im Startposting steht was völlig anders...
Würde dann in Autoit so ausschaun:
[autoit]
$teilergebnis = 0
For $x = 1 To 99999 Step 2
$teilergebnis = $teilergebnis + (1/($x^2))
Next
MsgBox(0,"", Sqrt($teilergebnis * )
EDIT: waren wohl einige schneller...
=====GESCHLOSSEN=====
Ich hab mir jetzt eine Berechnung in C++ geschrieben, die auf 1000101 Dezimalstellen berechnet!
Wird wohl so 15 Stunden dauern!
Wer sich für das Programm interessiert, PN an mich.
Zitat=====GESCHLOSSEN=====
Ich hab mir jetzt eine Berechnung in C++ geschrieben, die auf 1000101 Dezimalstellen berechnet!
Wird wohl so 15 Stunden dauern!
Wer sich für das Programm interessiert, PN an mich.
Die Bailey - Borwein - Plouffe - Formel berechnet die nte Dezimalziffer (und auch noch weitere folgende) von Pi. Seit dieser Formel müssen dazu die vorausgehenden Stellen nicht mehr ermittelt werden, was das Verfahren letztendlich zur ultimativen Berechnung von Pi per Computer erhebt!
Wenn ich die ganzen Dezi´s aber haben will!!!
Können wir dieses Thema jetzt mal abhacken? Ja. Gute Nacht noch.
Wenn ich die ganzen Dezi´s aber haben will!!!
Können wir dieses Thema jetzt mal abhacken? Ja. Gute Nacht noch.
Bekommst du doch auch.
Andy:
Hab mal die BBP Folge verwendet:
$Pi = 0
For $i = 0 To 10000000
$Pi += (1/16^$i) * ((4/(8 * $i + 1)) - (2/(8 * $i + 4)) - (1/(8 * $i + 5)) - (1/(8 * $i + 6)))
Next
Frage ist jedoch, warum AutoIt nicht über 12 Nachkommastellen hinausgeht, obwohl ich ja eig. eine höhere maximale Zahl angegeben hab, naja ich schreib mal eine DLL.
Die vorgeschlagene Formel liefert wie deine auch die Zahl Pi inklusive der gewünschten Dezimalstellen. Der Vorteil der Formel ist aber, dass diese umgeformt werden kann um eine bestimmte Dezimalstelle zu erhalten. Dadurch ist man nicht abhängig vom Datentyp, was ja in Autoit dazu führt, dass standardmässig nur 14 (?) Stellen angezeigt werden. Mit dieser Formel wäre es möglich jede Zahl in einem String zu speichern und als Ergebnis dann eine Stringkette auszugeben was eine Darstellung von deutlich mehr Stellen erlaubt (keine Ahnung wieviele Zeichen eine Variable enthalten darf). Ansonsten müsstest du in Autoit wie schon anfangs erwähnt wurde die bignum.au3 verwenden. Auch in C++ wirst du vermutlich irgendwann an die Grenzen des Datentyps stossen.
Siehe auch hier: http://de.wikipedia.org/wiki/Bailey-Bo…BBP-Algorithmus
@ Pinguin: Weil du die Formel nicht benutzt um die einzelnen Stellen zu erhalten und Autoit nunmal nicht mehr Nachkomma Stellen darstellen kann. Siehe wikipedia Artikel, da ist erklärt wie man die Formel nutzt und die Zahlen dann einzeln erhält um sie z.B. in einem String zwischenzuspeichern.
Da steht aber was von wegen:
"Multiplikation mit 10^8" .. und als Beispiel rechnen die dann aber 10³ * Pi...
Deren Beispiel check ich nicht.
$a = 2 * Sqrt(3)
$b = 3
Do
$a = 2 * $a * $b / ($a + $b)
$b = Sqrt($a * $b)
Until $a = $b
$Pi = $a
ConsoleWrite($Pi)
Nur kürtzt Autoit die Zahl anscheinend!
Das hab ich mal aus langeweile gemacht, wers braucht...
Pinguin
wg BBP, der "passende" Link mit Beispiel für den Nutzen ist das hier.
Gerade im unteren Teil ist auch eine feine kurze (superschnelle) Variante gezeigt, um MODULO sehr großer Zahlen per Binärrechnung in einer Handvoll Rechenschritten zu machen, was die Sache extrem beschleunigt.(bin mir nicht sicher, aber eukalyptus hat das m.E. sogar in der BigInt.udf so gemacht)
Der Witz ist nämlich an der BBP-Methode, dass die Berechnung der n-ten Dezimalstelle gewissermassen als "Abfall" noch einige weitere Dezimalstellen liefert. Und die weiteren Dezimalstellen sind dann mit einer kleinen Veränderung an der Rechenmatrix zu erhalten, OHNE den kompletten Algorithmus nochmal durchzulaufen!
Zitat von campwebWenn ich die ganzen Dezi´s aber haben will!!!
Können wir dieses Thema jetzt mal abhacken? Ja. Gute Nacht noch.
naja, Ignoranz gepaart mit extrem schmaler geistiger Bandbreite führt genau dazu:
Zitat von campwebEndlich 100104 Stellen in 4 Stunden af meinem Pentium-Dual Core mit Hilfe von Delphi.
Ich hab die 100104 Stellen selbst auf einem 1,2Ghz-PIII in nicht mal 10 Sec. erhalten! Incl. schreiben in eine Datei...mit Hilfe von Opera 10.63. Hat in etwa genausoviel mit AutoIt zu tun wie Delphi. Ist aber wesetlich schneller im Ergebnis!
Also muss ich meinen Ausdruck einfach für Pi einsetzen?
Weil die Teilen ja durch Pi in der Methode um eine gewisse Nachkommastelle auszurechnen