Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

All published worksheets from http://sagenb.org

Views: 168754
Image: ubuntu2004
def sin_plus3(A,d): #print A,d #print exact_cos(d) A_next = 1/(2*exact_cos3(d))*A return A_next
def exact_sin3(d): A = 3 SinA = 1/2*sqrt(3) while A < d: SinA = sin_plus3(SinA,A+3) A = A*2 #print A return SinA
def sin_plus2(A,d): #print A,d #print exact_cos(d) A_next = 1/(2*exact_cos2(d))*A return A_next
def exact_sin2(d): A = 4 SinA = 1/2*sqrt(2) while A < d: SinA = sin_plus2(SinA,A+2) A = A*2 #print A return SinA
def cos_plus(A): A_next = 1/2*sqrt(2)*sqrt(A+1) return A_next
def exact_cos3(d): A = 3 CosA = 1/2 while A < d: CosA = cos_plus(CosA) A = A*2 return CosA
def exact_cos2(d): A = 4 CosA = 1/2*sqrt(2) while A < d: CosA = cos_plus(CosA) A = A*2 return CosA
def approx_pi(A): #A = 24 SinA = exact_sin3(A) Sin2A = exact_sin3(A/2) Sin3A = exact_sin2(A/3) Sin4A = exact_sin3(A/4) CosA = exact_cos3(A) Cos2A = exact_cos3(A/2) Cos3A = exact_cos2(A/3) Cos4A = exact_cos3(A/4) # func = (144/125*SinA+76/125*Sin2A+3568/42875*Sin3A+761/343000*Sin4A)/(1+32/25*CosA+8/25*Cos2A+32/1225*Cos3A+1/2450*Cos4A) approx = A*func #print "een exacte benaderinge voor pi is: " #print approx print print "een benadering voor pi is: " print n(approx,digits=50) print print "de correcte waarde van pi is: " print n(pi,digits=50)
approx_pi(24)
een benadering voor pi is: 3.1415926535897932384626350421304661802460770552332 de correcte waarde van pi is: 3.1415926535897932384626433832795028841971693993751