繁体   English   中英

数学公式python解释

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM