我正在尝试构建一个精度为十位数字的ln(1.9)的近似值(即0.641853861)。
我使用了一个简单的函数,该函数是从ln[(1 + x)/(1 - x)]构建而来的。
以下是我的代码:
# function for ln[(1 + x)/(1 - x)]
def taylor_two(r, n):
x = 0.9 / 2.9
i = 1
taySum = 0
while i <= n:
taySum += (pow(x,i))/(i)
i += 2
return 2 * taySum
print taylor_two(x, 12)
print taylor_two(x, 17)
现在我需要重新格式化它,以便告诉我近似ln(1.9)所需的术语数到以上10位数,显示该系列给出的值,并显示误差。
我假设我需要将我的函数构建成一个for循环,但是我如何让它在达到所需的10位数后停止迭代呢?
谢谢您的帮助!