泰勒展开是什么
用多项式来拟合一个函数,比如你是泰勒,你想求 (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)),因为我们不可能求出一个无限项的多项式,计算机也做不到。这时可以近似一个余项来减小误差
拉格朗日余项
待填