Side 1 av 1

Approksimasjon av PI

Lagt inn: 28/05-2007 21:10
av Maple
Når man approksimerer PI kan man bruke mange metoder. Disse er blitt bedre og bedre med tiden. Etter datamaskinenes tid, kan man beregne millioner av siffer.

Men hvordan vet man at man har beregnet riktig? Altså hvordan kan man vite at f.eks. de 10^12 første sifrene er korrekte?

Hvis man f.eks. får 3,14159264, og så 3,14159265, kan man da konkludere med at 3,1415926 er sikkert, (altså de 8 første sifrene)?

Jeg skjønner ikke helt at dette er "bullet-proof", men jeg ser ingen andre metoder?

Jeg vet hva jeg skal teste i morgen. For jeg vet at

[tex]\pi = 4\int_0^1 \sqrt{1-x^2}\,dx[/tex]

Så skal jeg bruke Simpsons approksimasjonsformel for å beregne PI.

Hvis jeg deler opp intervallet [0,1] inn i en million deler, burde jeg vel få en grei approksimasjon...

[Skal selvsagt ikke regne dette for hånd...]

Re: Approksimasjon av PI

Lagt inn: 28/05-2007 23:36
av Zoiros
Maple skrev:Når man approksimerer PI kan man bruke mange metoder. Disse er blitt bedre og bedre med tiden. Etter datamaskinenes tid, kan man beregne millioner av siffer.

Men hvordan vet man at man har beregnet riktig? Altså hvordan kan man vite at f.eks. de 10^12 første sifrene er korrekte?

Hvis man f.eks. får 3,14159264, og så 3,14159265, kan man da konkludere med at 3,1415926 er sikkert, (altså de 8 første sifrene)?

Jeg skjønner ikke helt at dette er "bullet-proof", men jeg ser ingen andre metoder?

Jeg vet hva jeg skal teste i morgen. For jeg vet at

[tex]\pi = 4\int_0^1 \sqrt{1-x^2}\,dx[/tex]

Så skal jeg bruke Simpsons approksimasjonsformel for å beregne PI.

Hvis jeg deler opp intervallet [0,1] inn i en million deler, burde jeg vel få en grei approksimasjon...

[Skal selvsagt ikke regne dette for hånd...]
jojo.. prøv for hånd. Det blir artig :D

Har regna ut 10000 desimaler i inf1010 en gang. Uheldigvis ble vi ikke forklart hvordan man fant ut om det var riktig annet enn at hvis tallene var slik og slik ved desimal nr 9343 så hadde man kommet rett. Tror de gjør det ved å se på stabiliteten til desimalene og evt. noe form for feilberegning.

Lagt inn: 29/05-2007 16:35
av sEirik
Og for å eliminere muligheten for feil i programvaren sjekker de gjerne opp desimalene mot et annet, uavhengig program. Hvis begge programmene gir samme desimalutvikling, så kan du regne med at du har fått riktig :wink:

Jeg fant også en grei måte å finne pi på, med Newtons metode. Du setter

[tex]x_0 = 3[/tex], [tex]x_{n+1} = x_n - \tan (x_n)[/tex]

Da er [tex]\pi = \lim_{n \rightarrow \infty} x_n[/tex]. Den konvergerer veldig raskt, men så er det det med å evaluere tangens-funksjonen, det er vel der skoen trykker.

Lagt inn: 29/05-2007 16:59
av Charlatan
Vet vet en annen måte å finne pi på :)

[tex]\lim_{n \to \infty} \frac{n}{2} \sin{\frac{360}{n}}[/tex]

Lagt inn: 29/05-2007 17:38
av Maple
sEirik skrev:Og for å eliminere muligheten for feil i programvaren sjekker de gjerne opp desimalene mot et annet, uavhengig program. Hvis begge programmene gir samme desimalutvikling, så kan du regne med at du har fått riktig :wink:

Jeg fant også en grei måte å finne pi på, med Newtons metode. Du setter

[tex]x_0 = 3[/tex], [tex]x_{n+1} = x_n - \tan (x_n)[/tex]

Da er [tex]\pi = \lim_{n \rightarrow \infty} x_n[/tex]. Den konvergerer veldig raskt, men så er det det med å evaluere tangens-funksjonen, det er vel der skoen trykker.
Tangens-funksjonen tar jo utgangspunkt i allerede eksisterende verdier for PI da. Om man gjennomfører den algoritmen der, vil man jo bare "oppdage" hvilken verdi for PI de som definerte tangens-funksjonen på din lommeregner eller i Java (hva det nå skulle være) brukte.

Og det er jo nødvendigvis et approksimert (rasjonalt) tall.

Litt av poenget er jo å avlede PI fra en eller annen definisjon på PI. Og siden arealet av en sirkel med radius 1 (per definisjon) er PI, kan man f.eks. bruke dette.

Lagt inn: 29/05-2007 17:52
av TurboN
[tex]\pi=\sum_{n=0}^\infty\frac{1}{16^n}(\frac{4}{8n+1}-\frac{2}{8n+4}-\frac{1}{8n+5}-\frac{1}{8n+6})[/tex]

Dette er den raskeste summen "to compute" som jeg vet om ihvertfall

Lagt inn: 29/05-2007 18:04
av Maple
TurboN skrev:[tex]\pi=\sum_{n=0}^\infty\frac{1}{16^n}(\frac{4}{8n+1}-\frac{2}{8n+4}-\frac{1}{8n+5}-\frac{1}{8n+6})[/tex]

Dette er den raskeste summen "to compute" som jeg vet om ihvertfall
Her har vi vært å kikket på Wikipedia :)

Men jeg forstår ikke formelen. Hvis jeg ikke skal forstå "alt", så er det liten vits - kalkulatoren min har jo allerede en bra beregning av PI :)

Lagt inn: 29/05-2007 18:13
av TurboN
Maple skrev:
TurboN skrev:[tex]\pi=\sum_{n=0}^\infty\frac{1}{16^n}(\frac{4}{8n+1}-\frac{2}{8n+4}-\frac{1}{8n+5}-\frac{1}{8n+6})[/tex]

Dette er den raskeste summen "to compute" som jeg vet om ihvertfall
Her har vi vært å kikket på Wikipedia :)

Men jeg forstår ikke formelen. Hvis jeg ikke skal forstå "alt", så er det liten vits - kalkulatoren min har jo allerede en bra beregning av PI :)
Nei, har ikke det, er den der?

Lagt inn: 29/05-2007 19:33
av Maple
Ja, i alle fall i den engelske utgaven. De skriver også forøvrig om en forbedring av den formelen din, som gjør approksimeringen 43% raskere. Den lyder:

[tex]\pi=\frac{1}{2^6}\sum_{n=0}^\infty \frac{(-1)^n}{2^{10n}} \left (-\frac{2^5}{4n+1}-\frac{1}{4n+3}+\frac{2^8}{10n+1}-\frac{2^6}{10n+3}-\frac{2^2}{10n+5}-\frac{2^2}{10n+7}+\frac{1}{10n+9}\right )[/tex]

Mer interessant enn hvor raskt den konvergerer mot PI er vel hvordan de har kommet frem til den :)

Lagt inn: 29/05-2007 19:42
av TurboN
Se her ja, forbedringer hele tiden.

Lagt inn: 30/05-2007 03:24
av Janhaa
Veit ikke om integrallikninga godtas i denne sammenhengen. Men den er veldefinert likevel:

[tex]I=\int_{-\infty}^{\infty} e^{-x^2} {\rm dx}= \sqrt{\pi}[/tex]

slik at

[tex]I^2= \pi[/tex]

Lagt inn: 03/06-2007 02:24
av Karl_Erik
Den definitivt morsomste måten å approksimere pi på er å kaste lengre objekter på linjeark. Personlig brukte jeg en historietime og en blyant. Sannsynligvis lenker fra http://en.wikipedia.org/wiki/Buffon%27s_needle om varianter.