泰勒公式
\[\begin{aligned} f(x)&=P(x)+R(x)\\ &=主要部分({\color{blue}{近似值}})+次要部分({\color{blue}{误差}}). \end{aligned} \tag{1}\]
泰勒公式是研究函数的一个威力极大的工具.
把一个复杂函数用一个简单函数来近似.
能够把复杂问题变成简单问题!
1 为什么要引入泰勒公式?
假设你需要研究一个函数\(f(x),\)
- 这个函数比较复杂, 不容易处理,
- 而且你仅仅知道这个函数在\(x=0\)处的情况(各阶导数), 其他情况不知,
那怎么研究?
把复杂问题变简单
先不追求精确, 用简单函数近似.
努力用已知: 各阶导数, 去把未知的\(f(x)\) 描绘出来.
问题就是: 如何用一点处的各阶导数, 简单的把函数表示出来?
2 泰勒公式的本质与关键
泰勒公式就是把\(f(x)\)分解成两个函数的和, \[\begin{aligned} f(x)&=P(x)+R(x)\\ &=主要部分({\color{blue}{近似值}})+次要部分({\color{blue}{误差}}), \end{aligned} \]
- \(P(x)\)是一个简单的函数, 是\(f(x)\)的主要部分, 可以作为近似值;
- \(R(x)\)是一个误差, 是\(f(x)\)的次要部分, 小于预先给定的误差.
要能把近似函数\(P(x)\)求出来,
要能准确估计误差\(R(x)\)的大小.
如果要求的误差不同, 则相应的近似函数\(P(x)\)也不同, 所以\(f(x)\)的泰勒公式实际上是一组公式.
3 确定简单的函数\(P(x)\)
在基本初等函数中, 多项式函数 \[ P_n(x)=a_0+a_1x+\cdots+a_nx^n \] 比较简单, 原因
- 各种计算及求导容易.
如果两个函数在某个点处的函数值相等, 各阶导数都相等, 则可以猜测在此点的邻域, 这两个函数会比较接近.
所以我们对\(P(x)\)的要求就是在\(x=0\)处其函数值以及各阶导数和\(f(x)\)的相等: \[ P(0)=f(0),P'(0)=f'(0),\cdots, P^{(n)}(0)=f^{(n)}(0). \]
事后能够验证两者的误差确实可以比较小.
根据导数相等, 用待定系数法计算.
假设\[P(x)={ a_0+a_1x+a_2x^2+\cdots+a_nx^n}. \]
对\(f(x), P(x)\)分别求导, 代入\(x=0\)得到 \[P_n^{(k)}(0)=k!a_k=f^{(k)}(0).\]
\[ a_k=\frac{f^{(k)}(0)}{k!}, k=0, 1, 2,\cdots, n. \]
这样就确定了\(f(x)\)的近似函数 \[P(x)={ f(0)+f'(0)x+\frac{f^{(2)}(0)}{2!}x^2+\cdots+\frac{f^{(n)}(0)}{n!}x^n}. \]
4 估计误差函数\(R(x)\)的大小
计算误差
\[R(x)=f(x)-P(x). \]
根据\(P(x)\)的要求, 有\(R^{(k)}(0)=0, k=0,1,\cdots, n.\)
对\(f(x)\)和\(x^n\)用洛必达法则得到 \[\begin{aligned} &\lim_{x\rightarrow 0}\frac{R(x)}{x^{n}}=\lim_{x\rightarrow 0}\frac{R'(x)}{nx^{n-1}}=\cdots=\lim_{x\rightarrow 0}\frac{R^{(n)}(x)}{{n!}}=0,\\ & \therefore\, R(x)=o(x^{n}). \end{aligned}\]
说明\(R(x)\)是\(x^{n}\)的高阶无穷小, 确实很小.
称为皮亚诺型余项
用柯西中值定理可以得到更细致的估计
\[\begin{aligned} &\frac{R(x)-0}{x^{{}n+1}-0}=\frac{R'(x_1)}{(n+1)x_1^{n}}=\cdots=\frac{R^{(n)}(x_n)}{{(n+1)!x_n}}\\ &= \frac{f^{(n+1)}(\xi)}{(n+1)!}. \end{aligned}\]
\[ R(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}x^{n+1}. \]
称为拉格朗日型余项.
根据误差要求确定\(n\).
研究问题时总是先固定\(x\).
对于固定的\(x\), 比如\(x=0.01,\) 如果 \(f^{(n+1)}(\xi)\)有界, 则\(n\)越大, \(R(x)\)就越小. 因此用\(P(x)\)作为\(f(x)\)的近似值, 则误差\(R(x)\)可以满足给定的要求(误差越小, 可能\(n\)就选要大一点).
应用泰勒公式时, \(n\)的选择取决于一开始问题的要求, 要求误差小于\(10^{-3}\) 还是\(10^{-5}?\) 根据这个要求再来确定合适的\(n\).
5 泰勒定理
设函数 \(f(x)\) 在点 \(x_0\) 的某个邻域内具有 \(n+1\) 阶导数,则对于该邻域内的任意\(x\),有:
\[ f(x) = P_n(x) + R_n(x) \]
- 其中 \[ P_n(x) = f(x_0) + f'(x_0)(x - x_0) + \frac{f''(x_0)}{2!}(x - x_0)^2 + \cdots + \frac{f^{(n)}(x_0)}{n!}(x - x_0)^n \] 称为泰勒多项式.
余项有两种:
- 拉格朗日余项(定量估计)
\[ R_n(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!}(x - x_0)^{n+1} \]
其中 \(\xi\) 是介于 \(x_0\) 和 \(x\) 之间的某个数。
- 皮亚诺余项(局部定量描述)
\[ R_n(x) = o((x - x_0)^n) \quad (x \to x_0) \]
当 \(x_0 = 0\) 时,得到麦克劳林公式:
\[ f(x) = f(0) + f'(0)x + \frac{f''(0)}{2!}x^2 + \cdots + \frac{f^{(n)}(0)}{n!}x^n + R_n(x) \]
6 如何求函数的泰勒公式
计算各阶导数,
代入公式.
估计误差.
写出公式
- 直接法是用各阶导数相等, 由于高阶导数不容易求, 这种方法不太实用.
- 根据泰勒公式的唯一性, 利用已经求得函数的泰勒公式和一些运算法则求泰勒公式.
7 经典麦克劳林展开式
指数函数 \[ e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots + \frac{x^n}{n!} + R_n(x). \]
正弦函数 \[ \sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + \cdots + (-1)^k\frac{x^{2k+1}}{(2k+1)!} + R_{2k+1}(x). \]
余弦函数 \[ \cos x = 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \frac{x^6}{6!} + \cdots + (-1)^k\frac{x^{2k}}{(2k)!} + R_{2k}(x). \]
自然对数 \[ \ln(1+x) = x - \frac{x^2}{2} + \frac{x^3}{3} - \frac{x^4}{4} + \cdots + (-1)^{n+1}\frac{x^n}{n} + R_n(x). \]
8 局部与整体
泰勒公式是研究函数在点0的附近的性质, 是关于局部性质的公式.
由于拉格朗日型余项给出了精细的误差估计. 如果对于很大的\(x\), 误差也很小, 则此时泰勒公式仍旧可以使用, 就变成了一个较大区间上的公式.
对于指数函数和三角函数来说, 对所有的\(x\)都可以使用. 变成了一个整体性质的公式.
如果函数有各阶导数, 则这样的函数可以用它在0处的各阶导数来描述. 就是0点处的性质决定了其它点(某个区间内)处的性质(函数值).
9 泰勒公式会失效与局限性
对\(f(x)=\frac{1}{1-x}\), 有泰勒公式
\[ \frac{1}{1-x}= 1+x+x^2+\cdots+x^n+\frac{f^{(n+1)}(\xi)}{(n+1)!}x^{n+1}. \]
对于\(x=3\), 这也是一个等式, \(\xi\)需要确定.
但此时\(\frac{f^{(n+1)}(\xi)}{(n+1)!}x^{n+1}\)很大了, 如果还用\(1+x+x^2+\cdots+x^n\)作为近似值, 则误差很大, 选再大的\(n\)误差也不会减少.
此时近似值没有任何意义了. 所以泰勒公式还有, 但没有什么用处, 失效了.
- 需要\(n+1\)阶可导.
10 题目及分析
- 应用泰勒公式解决问题的关键是要确定展开到几阶? 误差是多少?