泰勒级数¶
使用泰勒级数,很大程度程度上是为了在某个点附近将一个复杂的函数近似为一个多项式函数,从而达到简化计算的目的。
余弦函数的泰勒展开¶
思考函数 \(y = \cos x\) 在 \(x = 0\) 附近的泰勒展开:
不妨设其在 \(x = 0\) 附近存在一个近似的二次函数 \(P(x) = c_0 + c_1x + c_2x^2\)。
- \(\cos 0 = 1\),显然常数项 \(c_0 = 1\)。
接下来,我们显然希望近似函数的斜率与 \(\cos x\) 的斜率在 \(x = 0\) 附近相等。
\(\frac{d}{dx} \cos 0 = -\sin 0 = 0\),迁移则有
- 故有 \(c_1 = 0\)。
这时再观察近似函数与原函数的图象可以发现近似函数零点处与 \(y\) 轴的交点、斜率都已经一致,只剩下二次函数的弯曲度与开口方向尚未完成近似,考虑这涉及函数变化率的变化(凹凸性),我们可以引入二阶导数来描述这些特征。
观察 \(\cos x\) 的图像,显然其在零点附近开口向下,函数的变化率(一阶导数)在不断减小,这就说明二阶导数是负的。
原函数在零点的二阶导数 \(\frac{d}{dx} \cos x |_{x=0} = -\cos 0 = -1\),将该特征迁移至近似函数则有
- 故有 \(c_2 = -\frac{1}{2}\)。
综上我们就得到了一个余弦函数的二次多项式近似:
推导要点¶
基于上面的推导,将阶数(近似函数的最高次项)继续扩展,可以得到:
逐级进行高阶求导时,会得到一个规律:
-
因此在泰勒展开得到的近似多项式中,第 \(n\) 项的系数需要除以 \(n!\) 来抵消高阶求导带来的系数影响。
-
不断向高次项展开时,继续引入的高次项不会改变近似多项式前面引入的低次项。
导数与高阶导数在泰勒展开的作用举足轻重,逐级展开的过程本质上一点处导数值的信息转化成了该点附近的函数值信息。
泰勒展开的一般推广¶
将余弦函数的推导过程推广,设有函数 \(f(x)\) 在 \(x = 0\) 处存在 \(n\) 阶导数,那么其在零点处的泰勒展开:
针对函数 \(e^x\),其在零点的所有高阶导数都是 \(1\),因此其泰勒展开也极为简洁:
Tip
-
数学术语中,将无限多项的和称为级数(Series)
-
一个级数在不断累加的过程中若越来越接近某个确定的数值,则称该级数收敛(Converge)于该数值,否则称该级数发散(Diverge)
-
从定义上而言,泰勒级数只考虑某点(例如在 \(x = a\) 附近则将 \(x\) 替换为 \((x - a)\))附近的各种函数性质,因此其近似范围是有限的,近似函数往往只能在该点附近收敛至原函数,当然也有例外(如 \(e^x\))
-
用来近似原函数的点周围能够让多项式的和收敛至原函数的最大的取值范围称为该泰勒级数的收敛域(Convergence Domain)