1

我正在尝试使用以下代码计算泰勒级数的误差:

# Define initial values, including appropriate value of x for the series input
import numpy as np
x = -0.9
i = 1
taySum = 0
ln = np.log(1.9)
terms = 1

''' Iterate through the series while checking that 
the difference between the obtained series value and ln(1.9) 
exceeds 10 digits of accuracy. Stop iterating once the series 
value is within 10 digit accuracy of ln(1.9).'''

while (abs(taySum - ln) > 0.5e-10) == True:
       taySum += (-1) * (pow(x,i))/(i)
       i += 1
       terms += 1
print ('value: {}, terms: {}'.format(taySum, terms))

我需要以某种方式合并计算第 k 个导数的误差函数,但我不知道该怎么做。错误公式可在此网站上找到,如下所示:

$$R_n(x; c) = \dfrac{f^{(n+1)}(z)}{(n + 1)!} (x - c)^{n+1}.$$

4

1 回答 1

1

除非您知道它收敛到的确切值,否则无法准确计算泰勒级数中的误差,对于像 ln 1.9 这样的值,我们不知道。您引用的公式根据数量 c < z < x(假设 c < x)给出了误差,在这种情况下,它在 0 < z < 0.9 的范围内,但在其他方面是未知的。这意味着我们不能使用这个使用公式来找到确切的错误。(否则我们可以找到 ln 1.9 的确切值,这是不可能的)

这个公式的作用是限制错误。如果您查看公式,您会发现它与系列中的下一项具有相同的形式,其中 f^(n+1) 的参数从 c(您正在扩展的点)更改为 z(我们的未知参数)。换句话说,它是说误差与系列中的下一个术语的大小大致相同,或者至少在您扩展的参数很小的情况下会如此。

考虑到这一点,我将通过简单地计算系列中的下一项并说它基本上是这样来近似错误。

于 2015-08-31T18:03:29.157 回答