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