[英]Math formula python interpretation
我一直在尝试将此数学公式转换为 python。
所以基本上是 1/math.pi 的近似值。
我试着用
import math
N = 132
for k in range(1, N+1):
print("The N value is",N , end="\r", flush=True)
rec_pi_approximate = (2*math.sqrt(2)/9801) * N * ((math.factorial(4*k) * (1103+26390*k))/((math.factorial(k)**4) * (396**4*k)))
但是我的价值观很奇怪,我需要指导如何实际键入公式并为其创建求和循环。 目前我正试图用这个等同于 1/math.pi 的公式找到 pi 的倒数
for
循环的想法是在每次迭代中将总和的一部分相加。 因此,您应该跟踪到目前为止的总和并每次都添加。 由于数学属性,您可以在求和时乘以求和之外的常数,这样您就不需要在最后了。
import math
N = 132
pi_approximate_inv = 0
for k in range(0, N+1):
print("The N value is", k)
pi_approximate_inv += (2*math.sqrt(2)/9801) * ((math.factorial(4*k) * (1103+26390*k))/((math.factorial(k)**4) * (396**(4*k))))
print("The pi approximate is", 1.0/pi_approximate_inv)
您还遗漏了我添加的(396**(4*k))
处的一些括号。 此外,它应该是print("The N value is", k)
( k
not N
)因为它显示了如果它停在k
处的结果会是什么。
由于浮点精度限制,它似乎在 N=2(意味着 3 次迭代)时达到最大值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.