Welcome, guest | Sign In | My Account | Store | Cart

Calculating PI using trigonometric iterations

Python, 23 lines
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23``` ```# Calculating PI using trigonometric iterations # FB36 - 20130825 import math x = 1.0 y = 1.0 z = 1.0 w = 1.0 v = 1.0 u = 1.0 for i in range(30): x = math.sin(x) + x y = math.cos(y) + y z = math.cos(z) + math.sin(z) + z w = math.cos(w) - math.sin(w) + w v = math.cos(v) * math.sin(v) + v u = math.cos(u) / math.sin(u) + u print i print x, y * 2.0, z * 4.0 / 3.0, w * 4.0, v * 2.0, u * 2.0 print ```

FB36 (author) 10 years, 8 months ago

Another version:

``````# Calculating PI using trigonometric iterations
# FB36 - 20130901
import math

def sin2(x):
return ((math.e ** complex(0.0, x) - math.e ** complex(0.0, -x)) / 2.0).imag

def cos2(x):
return ((math.e ** complex(0.0, x) + math.e ** complex(0.0, -x)) / 2.0).real

x = 1.0
y = 1.0
x2 = 1.0
y2 = 1.0

for i in range(5):

x = math.sin(x) + x
y = math.cos(y) + y
x2 = sin2(x2) + x2
y2 = cos2(y2) + y2

print i, x, x2, y * 2.0, y2 * 2.0
``````
FB36 (author) 7 years, 1 month ago
``````# Calculating PI by solving the equation sin(x) = 0 using Newton Iteration
import math
eps = 1e-10
x = 4.0
i = 0
while True:
xnew = x - math.sin(x) / math.cos(x)
if abs(x - xnew) <= eps: break
x = xnew
i += 1
print i, x
``````
FB36 (author) 7 years, 1 month ago
``````# Calculating E by solving the equation ln(x) = 1 using Newton Iteration
import math
eps = 1e-10
x = 3.0
i = 0
while True:
# xnew = x - (math.log(x) - 1.0) / (1.0 / x)
# xnew = x - (math.log(x) - 1.0) * x
xnew = 2.0 * x - math.log(x) * x
if abs(x - xnew) <= eps: break
x = xnew
i += 1
print i, x
``````
FB36 (author) 7 years, 1 month ago
``````# Calculating Golden Ratio by solving the equation x*x-x-1=0 using Newton Iteration
import math
eps = 1e-10
x = 2.0
i = 0
while True:
xnew = x - (x * x - x - 1.0) / (2.0 * x - 1.0)
if abs(x - xnew) <= eps: break
x = xnew
i += 1
print i, x
``````
 Created by FB36 on Sun, 25 Aug 2013 (MIT)

### Required Modules

• (none specified)