Sida 1 av 2

Ett hyggligt bra värde på pi

Postat: 23 september 2010, 00:20:49
av 4kTRB
24*atan(1/8) + 8*atan(1/57) + 4*atan(1/239)

Räcker säkert i många tillämpningar.
Kanske i microprocessorsammanhang? Fast det kanske finns snabbare sätt att beräkna pi om det
skulle behövas?
Om det finns någon fortsättning vet jag inte, alltså ett mönster för att få ännu bättre likhet.

Re: Ett hyggligt bra värde på pi

Postat: 23 september 2010, 00:27:38
av ahlsten
Ska vi blanda in inverstrigonometriska funktioner är nog 2*asin(1) en bra "approximation".

Re: Ett hyggligt bra värde på pi

Postat: 23 september 2010, 00:31:11
av Icecap
Då dessa uträkningar vill resultera i en himla massa bits kan det kvitta i µC-sammanhang, där använder man ju ändå bara 32 bit flyttal om man absolut måste använda flyttal alls... En float är ju ett 16-bit flyttal och där duger 3,14159265 rikligt bra som en definition.

Så varför räkna ut vad som kan definieras utmärkt med de begränsningar som redan finns?

Re: Ett hyggligt bra värde på pi

Postat: 23 september 2010, 01:05:11
av 4kTRB
atan x går serieutveckla och få bra närmevärde på.

atan x = x - x^3/3 + x^5/5 - x^7/7 + ....

pi/4 = 1 - 1/3 + 1/5 - 1/7 + ....

Re: Ett hyggligt bra värde på pi

Postat: 23 september 2010, 04:35:21
av bearing
Pi går ju att beräkna genom att t.ex. dividera omkretsen av en n-hörning med dess "medeldiameter". Ju större n, ju bättre approximation.

Men när behöver man beräkna ett värde på pi?
När man tappat minnet, hamnat på en öde ö och ska tillverka en cirkulär hydda?

Re: Ett hyggligt bra värde på pi

Postat: 23 september 2010, 09:06:49
av Walle
Man kommer hyffsat långt med denna: http://www.eveandersson.com/pi/digits/1000000

Kanske svårt på en öde ö dock (;

Re: Ett hyggligt bra värde på pi

Postat: 23 september 2010, 10:13:18
av jesse
Beräkna Pi gör man väl bara för nöjes skull, oavsett hur noggrann man vill vara och oavsett sifferformat. Vill man använda Pi så är det väl smartare att bara ange siffran. Det tar ju betydligt mindre utrymme än själva algoritmen, och det tar ingen tid.

Pi binärt: 11.0010010000111111011010101000100010000101101000110000100011010001100010011

Pi som 32-bitars flyttal:
Assume that we have the following 32 bit floating point value:

0100 | 0000 | 0100 | 1001 | 0000 | 1111 | 1101 | 1011
^ ^
Bit 31 Bit 0

For simplicity's sake, the Hex representation of this value is 40490FDB. Using the IEEE 32 bit floating point definition, the mantissa is 490FDB (bits 22 through zero); the exponent is bits 30 through 23 (10000000) which is the Hex value of 80; and the sign (bit 31) is zero, which means it is positive.

For the 8087 math co-processor, the exponent has an assumed one, thus 80 + 1 = 81 which is 129 decimal. The real exponent is 129 minus 128 which is 1. This value of 1 is raised by the power of two and the resulting value (21 = 2) is used to multiply the mantissa with.

The mantissa is 490FDB which is a 22 bit number that represents the range from one to two. Thus, 490FDB is normalized by dividing it by 800000 (Hex) which is .570796 (decimal). Since the normalization bit is omitted, we add 1 to .570796 and get 1.570796. Multiply 1.570796 by 21 and we get 3.14159.

This turns out to be the value of Pi (p). Thus, the 32 bit floating value shown above (40490FDB Hex) is the IEEE 32 bit floating point format of Pi!

You can verify this with the following line in C:

float f=3.1415926535; printf("%IX",*(long*)&f);

Re: Ett hyggligt bra värde på pi

Postat: 23 september 2010, 17:32:35
av Rattus1975
Sitter man och skissar på en ny dödsstjärna bör man minst använda 22/7 som approx.

Själv är jag inte bättre snickare än att 3 är en fullt godtagbar approximation :(

Re: Ett hyggligt bra värde på pi

Postat: 23 september 2010, 19:34:22
av jesse
Ojdå. 22/7 ger bara 0.04% fel. Imponerande.

Re: Ett hyggligt bra värde på pi

Postat: 23 september 2010, 20:22:14
av Swech
Jag hörde att just på grund av detta så skall nästa dödsstjärna bli en kub

Swech

Re: Ett hyggligt bra värde på pi

Postat: 23 september 2010, 20:29:33
av blueint
4kTRB, Varför behövs sådan precision på pi ?

Re: Ett hyggligt bra värde på pi

Postat: 23 september 2010, 20:50:11
av bearing
355/113 är rätt bra också. Mindre än 1/10-dels promille fel.

Publicerades visst på 1600-talet i västvärlden, men användes redan i Kina år 480.

Re: Ett hyggligt bra värde på pi

Postat: 23 september 2010, 21:40:39
av Nerre
Swech skrev:Jag hörde att just på grund av detta så skall nästa dödsstjärna bli en kub
Resistance is futile.

Re: Ett hyggligt bra värde på pi

Postat: 23 september 2010, 21:47:40
av AndLi
Men frågan måste väll vara, varför skulle man vilja beräkna pi i en µC? Det är ju inte ett värde som ändrar sig, inte så ofta i alla fall :)

Re: Ett hyggligt bra värde på pi

Postat: 23 september 2010, 21:49:31
av Walle
säker? Tänk vad förvånade alla skulle bli om pi helt plötsligt var 1.4 :D