gpt4 book ai didi

python - 近似某个 epsilon 内的无限和

转载 作者:行者123 更新时间:2023-12-01 04:51:02 26 4
gpt4 key购买 nike

我在编码方面的经验很少,并且正在学习 Python 类(class)。我被要求在某个所需的 epsilon 内近似无穷总和,以便该系列中两个连续项之间的差值小于 epsilon。

我搜索了一下,发现了'while',根据我的理解,它可以用来创建无限循环。我试图了解它是如何工作的并编写了以下内容:

def S(eps):
z = 1
S = 0
while z == 1:
S = S + (?)
if S[i] - S[i-1] < eps:
z = 2
return z

假设这将有助于打破循环,我陷入困境的部分是尝试定义将进行实际求和的循环。每当我制作有限循环时,我通常会执行以下操作:

for i in range(n):
S = S + whatever[i]

其中 n 是我以某种方式定义的某个有限值。在我的问题中,我不知道什么 n 对应于我需要的 epsilon,所以我无法分配 n。但我不知道还有什么其他方法可以循环。

有人可以解释一下我在这里可以做什么吗?

如果重要的话,我想做的总和是(1/k)^3

最佳答案

对于无休止的 while 循环,请使用 while True (永远运行)并在满足某些条件时中断。

在下面的示例中,我将 epsilon 定义为 10^-10:

sigma, epsilon, k = 0, 10**-10, 1
while True:
addition = 1.0/(k**3)
if addition < epsilon:
break
else:
sigma += addition
k += 1

所以结果是:

>>> print sigma, k
1.20205679544 2155

请注意,浮点运算对于高精度来说并不可靠(1.0/(k**3)sigma += 加法 都涉及 float ),如果您正在寻找更高的精度(例如小数点后第 20 位等),请使用 decimals模块。

关于python - 近似某个 epsilon 内的无限和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28469616/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com