25 lines
469 B
Python
25 lines
469 B
Python
import math
|
|
|
|
|
|
# iterative factorial function
|
|
def fac(x):
|
|
factor = 1.0
|
|
for i in range(1, x + 1):
|
|
factor *= i
|
|
return factor
|
|
|
|
|
|
# approximation of the sine function using taylor series
|
|
def taylor_sine(n, x):
|
|
k = 0.0
|
|
sign = -1.0
|
|
for i in range(0, n):
|
|
sign *= -1.0
|
|
k += sign / fac(2 * i + 1) * math.pow(x, 2 * i + 1)
|
|
|
|
return k
|
|
|
|
|
|
def test():
|
|
print("taylor: %s, sine: %s" % (taylor_sine(16, math.pi), math.sin(math.pi)))
|