AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte PI berechnen mit Ramanujan 2. Methode
Thema durchsuchen
Ansicht
Themen-Optionen

PI berechnen mit Ramanujan 2. Methode

Ein Thema von jokerfacehro · begonnen am 24. Okt 2008 · letzter Beitrag vom 24. Okt 2008
Antwort Antwort
Benutzerbild von jokerfacehro
jokerfacehro
Registriert seit: 13. Feb 2007
hallo,

hab hier einen schönen ansatz zur berechnung von PI gefunden
http://www.uni-leipzig.de/~sma/pi_ei...ung/index.html

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var an,an1,yn,yn1,pi:extended;
    i:integer;
begin

an:=sqrt(2)-1;
yn:=sqrt(an);

for i:=0 to 2 do begin

yn1:= (1 - Power( 1 - Power( yn , 4 ) , 0.25 ) ) / ( 1 + Power( 1 - Power( yn , 4 ), 0.25 ));

an1:= an * Power( 1 + yn1 , 4 ) - Sqrt( 2 ) * ( 1 + yn1 + sqr( yn1 ) ) * Power( 4 , i + 1 ) * yn1;

yn:=yn1;
an:=an1;
pi:=1/an;
Memo1.Lines.Add(FloatToStr(pi));
end;

Showmessage(FloatToStr(pi));
end;
mit 2 algorithmen durchläufen hab ich bereits pi auf 15 stellen hinter dem komma genau berechnet.

sicher erkennt ihr das problem ^^
ein extended ist zu kurz um weitere stellen aufzunehmen.

wer lust hat kann ja damit rumexperimentieren oder mir paar schöne ansätze posten

Gruß Jokerface
"Never touch a running system administrator !"
 
Benutzerbild von jfheins
jfheins
 
#2
  Alt 24. Okt 2008, 18:37
Ich behaupte einfach mal, dass für 99% aller Anwendungsfälle die 15. Stelle hinter dem Komma nur eine marginale Rolle spielt. Falls doch, gibt es Pi bis zur Millionsten Stelle im Internet

Falls das ganze nur als Beschäftiguungstherapie gedacht ist: Es gibt diverse Klassen für Delphi die längere Zahlen erlauben. Suche nach BigInt oder "große Zahlen"
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

 
Delphi 7 Enterprise
 
#3
  Alt 24. Okt 2008, 18:42
danke ^^

man schätzt, dass man um den umfang des universums zu berechnen gerade mal 50 nachkommastellen braucht. naja wir sind ja bereits bei mehr als einer billion stellen xD

ich hab grad en bischen langeweile und wollt schon immer ma pi berechnen xD

und denn mach ich ein zahlensystem mit der basis PI auf xD

hier ein weiterer algo, der nich ganz so leistungsstark is:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var x,y,a,b,c,pi:extended;
    i:integer;
begin
x:=1;
a:=1;
b:=1/sqrt(2);
c:=0.25;

for i:=0 to 3 do begin

y:=a;

a:=( a + b ) / 2;

b:=sqrt( b * y );

c:=c - x * sqr( a - y );

x:=2*x;

pi:=sqr( a + b ) / (4 * c);

Memo1.Lines.Add(FloatToStr(pi));
end;


end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:12 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