泰勒展开

泰勒展开是什么

用多项式来拟合一个函数,比如你是泰勒,你想求 (sin(x)),我们在小学二年级的时候学过,sin(x) 可能是无理数,那我只需要一定的精度就可以了,(sin(x)) 是弯的,那多项式也是弯的,用多项式来拟合 (sin(x)) 不就完了

泰勒展开

[g(x) = frac {f(a)} {0!} + frac {f'(a)} {1!}(x - a) + frac{f''(a)} {2!}(x - a)^2 + ... + frac {f^{(n)}(a)} {n!}(x - a)^n + R_n(x) ]

[= sum_{i = 0} ^ {infty} frac {f^{(i)}(a)} {i!}(x - a)^i ]

(R_n(x)) 是余项,(R_n(x) = sum_{i = n + 1} ^ {infty} frac {f^{(i)}(a)} {i!} (x - a) ^ i),可以发现,(n) 越大,(R_n(x)) 越小
(x = a)(g(x) = f(x),R_n(x) = 0)

这个 (a) 是什么呢?这要从泰勒展开是怎么来说起

证明

首先这个函数能泰勒展开,它要求能无限求导(显然是废话,不能无限求导还展开啥)
比如我要对 (f(x)) 泰勒展开,我有 (f(x))(a) 点的点值 (f(a) = y),现在我想求得一个多项式 (g(x))(g(x) = f(x)),如果说 (g(x) = f(x))(g'(x) = f'(x)),他们导数的导数还是相等
我们设 (g(x)) 是一个 (n) 次多项式,第一步 我选择 (0 ,f(0)) 作为起始点

[f(0) = g(0), frac {f(0)} {0!} = a_0 ]

继续往后推

[f'(0) = g'(0), frac {f'(0)} {1!} = a_1 ]

[f''(0) = g''(0), frac {f''(0)} {2!} = a_2 ]

显然

[f(x) = sum_{i = 0} ^ {infty} frac {f^{(i)}(0)} {i!} x^i ]

这就是 麦克劳林公式 (OI) 中最常用的就是这个公式了
如果将 (a, f(a)) 作为起始点,最终推导就是泰勒多项式了(其实是我不会证明)

这时我们发现,虽然泰勒展开了,但是还有个余项 (R_n(x)),因为我们不可能求出一个无限项的多项式,计算机也做不到。这时可以近似一个余项来减小误差

拉格朗日余项

待填

原文地址:https://www.cnblogs.com/XiaoVsun/p/13054116.html