Ergänzung zur Approximation von Pi
Liste der Anhänge anzeigen (Anzahl: 3)
In diesem Beitrag beschreibt Chakotay die Approximation von Pi anhand des "spalten-Verfahrens". Ich musste im Rahmen eine Schulprojektes die 3 folgenden Verfahren implementieren und würde mich über eine Aufnahme der functionen in die Codelib freuen. Die Verfahrensbeschreibungen hatte ich leider nur noch ausgedruckt vorliegen. Hab sie mal eingescannt und angehängt.
Pi berechnen nach Archimedes
Delphi-Quellcode:
function PiArchimedes(Schritte:integer):extended;
var anzahl,i : integer; s,x,y : extended; begin anzahl := 2; s := sqrt(2); for i := 1 to schritte do begin anzahl := anzahl * 2; x := sqrt(1-(1/2*s)*(1/2*s)); y := 1-x; s := sqrt((1/2*s)*(1/2*s)+y*y); end; result := s * anzahl; end; Pi berechnen nach Leibnitz' unendlicher Reihe
Delphi-Quellcode:
function PiUnendlicheReihe(Summandenzahl : integer):extended;
var i, summand : integer; begin summand := 1; result := 0; for i:=1 to summandenzahl do begin result := result + (1/summand); if (1-summand) < 1 then summand := -1 * (summand+2) else summand := -1 * (summand-2); end; result := result * 4; end; Pi berechnen nach dem MonteCarlo-Verfahren
Delphi-Quellcode:
function PiMonteCarlo(Tropfen: LongWord):extended;
var i : LongWord; x,y : extended; begin Randomize; Result := 0.0; for i := Tropfen-1 downto 0 do begin x := random; y := random; if ((x*x+y*y) < 1) then Result := Result + 1; end; Result := (4*Result) / Tropfen; end; Edi11: thx@Binärbaum für die Optimierung der Monte-Carlo-Funktion Edit2: thx@Binärbaum für weitere Optimierung von Monte-Carlo Edit3: Hab das Archimedes-Beispiel gezippt, wird leider nur unwesentlich kleiner :sad: Sorry an die Leute mit Modem/ISDN! [edit=flomei] Anmerkung zu den obigen Kommentaren: Binärbaum hatte kleinere Fehler gefunden, bzw. Optimierungen an der Geschwindigkeit vorgenommen. Dafür nochmal ein Dankeschön! Anhänge hinsichtlich ihrer Größe "optimiert", verschoben. Mfg, flomei[/edit] [edit=Matze]Code formatiert. Mfg, Matze[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz