资料
一个比较详细的介绍
一个微积分的推导
一个我没有看懂的推导
知乎上一个提了拉格朗日中值定理的回答
知乎上一个使用了柯西中值定理的证明
泰勒公式推导
简单来说,如果我们知道某一个函数在某一个点的取值,以及在这个点的各阶导数的取值,我们就可以通过泰勒公式构造出一个多项式,从而近似地得到这个点附近的点的这个函数取值。
对于函数$f(x)$,我们已经知道$f(x_0)$以及$f$在$x_0$处的$1,2,3\cdots n$阶导数。我们需要构造一个关于$x$的多项式$P$,使得$P(x)$的取值尽可能地接近$f(x)$。
考虑$P(x)$满足什么条件它才能够和$f(x)$比较接近:
- $P(x_0)$应该等于$f(x_0)$
- 在$x_0$这个点,两个函数的切线的斜率应该相等,也就是他们的一阶导数相等。
- 在$x_0$这个点,两个函数的曲率也应该相等,也就是他们的二阶导数也应该相等。
- $\cdots $
- 在$x_0$这个点,两个函数的$1,2,3\cdots n$阶导数都应该相等。
我们设$P(x)= \sum_{i=0}^n A_i(x-x_0)^i + R_n(x)$,最后的$R_n(x)$是余项,也就是误差。那么根据前面的推导我们可以知道:
- $P(x_0) = A_0 =f(x_0)$
- $P’(x_0) = 1\cdot A_1 = f’(x_0) $(次数高于$1$的项此时因为$x-x_0=0$所以取值都是$0$;取值低于$1$的项因为求导已经没有了)
- $P’’(x_0) = 1\cdot 2\cdot A_2 = f’’(x_0)$
- $P’’’(x_0) = 1\cdot 2\cdot 3 \cdot A_3 = f’’’(x_0)$
- $\cdots $
- $P^{(n)}(x_0)= n!A_n = f^{(n)}(x_0)$
于是我们得到了$A_i = {f^{(n)}(x_0)\over n!}$。
因此我们有了泰勒公式:
当$x_0 = 0$的时候这就是麦克劳林公式:
一些常用函数的泰勒展开
upd 2020.1.15
余项的估计
- 函数$c \cdot {x^n \over n!}$的$n$阶导数是$c$。
- 对于连续且可以求$n+1$阶导的函数$f(x)$,以及某两个点$a,b$,令$y=cx^{n+1}$过$(a,f(a)),(b,f(b))$,则至少存在一个点$\theta \in (a,b)$,满足${f^{(n+1)}(\theta)\over (n+1)!} = c$。(拉格朗日中值定理的推广?我不会证)
- $R_n(x) = f(x) - \sum_{i=0}^n {f^{(i)}(a)\over i!}(x-a)^i$,如果把$R_n(x)$看做一个关于$x$的函数,将$f(x)$泰勒展开为$f(x) = \sum_{i=0}^\infty {f^{(i)}(a)\over i!}(x-a)^i$,就可以得到$R_n^{(n+1)} (x)= f^{(n+1)}(x)$。
- 必然存在一个点$\theta \in (a,x)$,满足$R_n(x) - R_n(a) = {R_n^{(n+1)}(\theta)\over (n+1)!} (x-a)^{n+1}$,也就是$R_n(x) = {f^{(n+1)}(\theta)\over (n+1)!}(x-a)^{n+1}$。
- 所以,如果某个$M$满足$M\ge |R_n^{(n+1)}(\theta)|, \theta \in (a,x)$,那么就可以得到$|R_n(x)| \le {M\over (n+1)!}(x-a)^{n+1}$