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

标签 python

我在编码方面的经验很少,并且正在学习 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/

相关文章:

python - gensim 的 word2vec 中的图层大小

python - Docker - 使用 DOCKER_BUILDKIT 在构建期间传递 token secret

python - 如何在一个张量板选项卡中显示多个图像,就像在 tf-object-detection-api 中完成的那样

python - 如何在复杂的情况下获得假人

python - 在 basemap 上使用 LassoSelector

python - 使用 python pandas 将现有的 excel 表 append 到新的数据框

python - 中央小部件的 pyqt 设计器和布局

python - IDLE shell 无法找到 cx_Oracle 的镜像(原因 : image not found)

python - 导入一个没有 .py 扩展名的 python 模块,

python - 在 Python 中,如何根据另一个数字的符号更改列表中一个数字的符号?