前言
学了泰勒公式几个月了,最近又有了一些新的理解,我尝逝着用一种非中值定理的方式证明泰勒公式,最后没有成功,但是证明了麦克劳林公式(雾)
这种方式可能会让初学者对泰勒公式有一个比较好的理解,所以整理一篇笔记,可以作为初学者学习泰勒公式的入门文章。
泰勒公式的引入
从近似开始
在函数图像上,我们经常会发现,有些函数的图像长得很像。
如图是f(x)=sinx和g(x)=x−x36的图像,在一段范围内,它们几乎是重合的。
那么,我们能否通过找一个函数的”近似函数“,来研究原函数的性质呢?
比如sin函数,它是一个周期函数,当我们计算一些含有sin函数的极限时,总是很难计算,如果能找一个函数来代替它,那么多方便啊。
而如何找出一个与原函数近似的函数呢?
求导!求导!
现在有一个人,他沿着直线走了一公里,如果我们想完全模仿他的运动过程,该怎么办呢?
首先,我们走的路程应该是一公里,但是这不够,平均速度也得和那个人一样。
平均速度一样也不够,那个人可能走一走停一停,所以加速度也得一样。
除此之外,加速度变化率也得相同,加速度变化率的变化率也得相同,变化率的变化率的变化率还相同……
如果做到这些,那么我们模仿的运动和那个人的运动也就没什么区别了。
聪明的你可能已经看出来了,如果我们想模仿一个函数,那就让它的导数,二阶导数,三阶导数……一直到n阶导数都相同,如果这个n趋近于无穷,那么模仿出来的函数就和原函数没什么区别了。
初中数学很有用
什么函数最容易求导,求极限呢?当然是多项式函数了,在近似函数的过程中,最方便的办法就是找一个多项式函数来近似。
所以,我们可以先设一个函数f(x)=a1+a2x+a3x2+a4x3+a5x4(后面先不要),然后先来近似一个函数,比如sin函数。
为了方便求值,我们就把x=0代入。
首先,近似函数本身和sin函数的取值应该是相等的,于是我们有
a1+a2⋅0+a3⋅0+a4⋅0+a5⋅0=sin0=0a1=0
然后两个函数分别求导,得到
a_2+2a_3x+3a_4x^2+4a_5x^3=(\sin x)`=\cos x
再x=0的情况下,有
\begin{matrix} a_2+2a_3\cdot 0+3a_4\cdot 0^2+4a_5\cdot 0^3=1\\ a_2=1 \end{matrix}
依次类推,我们能得到一个方程组
\begin{matrix} a_1+a_2x+a_3x^2+a_4x^3+a_5x^4=\sin x \\ a_2+2a_3x+3a_4x^2+4a_5x^3=\cos x \\ 2a_3+6a_4x+12a_5x^2=-\sin x \\ 6a_4+24a_5x=-\cos x \\ 24a_5=\sin x \end{matrix}
把x=0代入,就有了一个线性方程组
\begin{matrix}
a_1=\sin 0=0
\\ a_2=\cos 0=1
\\ 2a_3=-\sin 0=0
\\ 6a_4=-\cos 0=-1
\\ 24a_5=\sin 0=0
\end{matrix}
解这个方程组,我们就得到了
\begin{matrix} a_1=0 \\ a_2=1 \\ a_3=0 \\ a_4=-\frac{1}{6} \\ a_5=0 \end{matrix}
带回原函数,我们发现我们得出来了一个函数f(x)=x-\frac{1}{6}x^3
这就是开头我们引入的那个,和\sin x长得很像的函数。
于是,我们发现,通过这样的待定系数法(初中数学 ),我们竟然推导出了一个函数的近似函数。
那么,透过现象看本质,我们能否总结出近似函数的普遍公式呢?
麦克劳林公式
假如我们现在要求一个函数f(x)的近似函数,按照刚才的办法,我们先设g(x)=a_1+a_2x+a_3x^2+a_4x^3+a_5x^4+......+a_nx^{n-1}
然后列出方程组
\begin{matrix}
a_1+a_2x+a_3x^2+a_4x^3+a_5x^4+......+a_nx^{n-1}=f(x)
\\ a_2+2a_3x+3a_4x^2+4a_5x^3+......+(n-1)a_nx^{n-2}=f’(x)
\\ 2a_3+6a_4x+12a_5x^2+......+(n-2)(n-1)a_nx^{n-3}=f’‘(x)
\\ 6a_4+24a_5x+......+(n-3)(n-2)(n-1)a_nx^{n-3}=f^{(3)}(x)
\\ \cdots \cdots
\\ (n-1)!a_n=f^{(n-1)}(x)
\end{matrix}
把x=0带进去,得到
\begin{matrix}
a_1=f(0)
\\ a_2=f’(0)
\\ 2a_3=f’‘(0)
\\ 6a_4=f^{(3)}(0)
\\ \cdots \cdots
\\ (n-1)!a_n=f^{(n-1)}(0)
\end{matrix}
于是,我们得到了g(x)这个多项式函数各项的系数,也就是
\begin{matrix} a_1=f(0) \\ a_2=f’(0) \\ a_3=\frac{f’‘(0)}{2} \\ a_4=\frac{f^{(3)}(0)}{6} \\ \cdots \cdots \\ a_n=\frac{f^{(n-1)}(0)}{(n-1)!} \end{matrix}
于是,我们能得到一个规律:a_n=\frac{f^{(n-1)}(0)}{(n-1)!}
所以,
\begin{matrix}
g(x)=f(0)+f’(0)x+\frac{f’‘(0)}{2}x^2+\frac{f^{(3)}(0)}{6} x^3+\cdots+\frac{f^{(n-1)}(0)}{(n-1)!}x^{n-1}\\ =\sum_{i=0}^{n}\frac{f^{(i)}(0)}{i!} x^i
\end{matrix}
这个公式其实就是泰勒公式的一个拓展——麦克劳林公式。
泰勒公式
刚刚我们推导了麦克劳林公式(为什么我不直接推导泰勒公式呢?当然是因为推不出来了),那么泰勒公式又是什么呢?
刚刚我们推导麦克劳林公式时,为了方便直接令x=0,而泰勒公式就是x\ne0的情况。
泰勒公式的内容如下:
\begin{matrix}
f(x)\approx f(x_0)+f’(x_0)(x-x_0)+\frac{f’‘(x_0)}{2}(x-x_0)^2+\frac{f^{(3)}(x_0)}{6} (x-x_0)^3+\cdots+\frac{f^{(n-1)}(x_0)}{(n-1)!}(x-x_0)^{n-1}\\=\sum_{i=0}^{n}\frac{f^{(i)}(0)}{i!} (x-x_0)^i
\end{matrix}
显然,当x_0=0的情况下,得到的公式就是麦克劳林公式。
余项是什么鬼?
在各种高等数学的教科书上,在讲述泰勒公式时都讲了余项这个东西,那么余项是什么呢?
我们说过,泰勒公式的本质是近似,近似总会有误差,余项实际上就是那个误差。
余项一般有两种,分别是拉格朗日余项和皮亚诺型余项。
其中,皮亚诺型余项给的定义是R_n(x)=o((x-x_0)^n),这个很好理解,泰勒公式展开到第n项得到的多项式是\frac{f^{(n)}(0)}{(n)!}(x-x_0)^{n},它的更高阶的无穷小就是o((x-x_0)^n),如果n足够大的话,这个余项(误差)就非常小。
拉格朗日余项则是 R_n(x)=\frac{f^{(n+1)}(\xi)(x-x_0)^{n+1}}{(n+1)!},它是由拉格朗日中值定理(见我之前的数学笔记)得到的。它主要是来得到第n项多项式的误差,通过这个公式,我们能够知道,x_0的取值和x越接近,误差就越小,所以使用麦克劳林公式有时的精确度就没有那么高。
一些函数的麦克劳林公式
在未来的数学学习中,我们经常需要一些函数的麦克劳林公式,如果“临阵磨枪”,在使用的时候再去推公式,就会耗费很多时间,所以最好记下一些常用函数的展开公式。
e^x=1+x+\frac{1}{2!}x^2+\frac{1}{3!}x^3+\cdots+\frac1{n!}x^n{}+o(x^n)
\sin x=x-\frac{1}{3!}x^3+\frac{1}{5!}x^5-\cdots+\frac{(-1)^{m-1}}{(2m-1)!}x^{2m-1}+o(x^{2m-1})
\cos x=1-\frac{1}{2!}x^2+\frac{1}{4!}x^4-\cdots +\frac{(-1)^m}{(2m)!}x^{2m}+o(x^m)
还有一些常用函数的展开式值得记住,如\ln(1+x),\frac{1}{x+1},\frac{1}{1-x},限于篇幅,这里就不展示了。
泰勒公式和麦克劳林公式的应用
求极限
在我之前的数学笔记里讲过洛必达法则,那是一种求极限的方法,但是有的时候我们无法单纯通过洛必达法则求出极限,这时候就需要配合泰勒公式使用。
比如这道题
\lim_{\Delta x\to 0} \frac{x-\sin x}{x^3}
这道题我们当然可以使用洛必达法则,但是那需要洛很多次(其实很方便 ),在本题中我们使用泰勒公式。
首先,我们发现函数如果没有\sin x,那就变成了一个多项式函数,所以关键是把\sin x展开掉。
那么展开几阶呢?
我们都知道
\begin{matrix}
\sin x\sim x+o(x)\\ \sin x \sim x-\frac{1}{3!}x^3+o(x^3)\\ \sin x\sim x-\frac{1}{3!}x^3+\frac{1}{5!}x^5+o(x^5)
\end{matrix}
(其中,第一个展开式其实就是等阶无穷小,所以等价无穷小的实质就是泰勒展开的低阶形式)
在本题中,我们发现分式底下是x^3是三次项,在求极限时,上下应该是同阶的,所以我们展开到\frac{1}{3!}x^3就够用了。
因此我们得到了
\begin{matrix}
\lim_{\Delta x\to 0} \frac{x-x+\frac{1}{3!}x^3+o(x^3)}{x^3} \\ =\lim_{\Delta x\to 0} \frac{\frac{1}{3!}x^3}{x^3}\\ =\frac{1}{6}
\end{matrix}
总结一下,泰勒公式求极限的方式。
- 一般是乘除的时候才使用泰勒公式,如果是加减的话对精度的要求比较高,尽量不要使用。
- 如果是分式,上下展开的最高阶数应该相同。
- 最好在运算的过程中写一下皮亚诺余项(就是那个o(x^3)),它可以帮你确定展开的精度够不够用。
初中高中三角函数的God
desmos的极限佬%%%
原来是微积分佬
小学生大受震撼
Orz小学巨佬
stO lhr Orz
现在不震撼了,我会泰勒公式了
追上我一年半前的进度了/dk
但是现在taylor展开对我来说都无感了,比它高深的数学学了太多,这些东西就变得trival了
2023年9月2日:更新了泰勒公式求极限
《初中数学》
待定系数法某种意义上确实是初中数学
《仅此一个》
神!