趣谈:推送拾锦(一)

如何理解泰勒公式

Posted by Charles Xu on April 27, 2018

泰勒公式

前言

对于非数学系的理工科学生来说,永远都要记住,数学家都是凡人,你所接触到的所有数学知识,都来源于某一种数学思想,所有的数学思想都来源于生活经验。而这种生活经验,我们每个人都有,即使没有,也会很容易就能想通。

所以,你内心要有一种信仰,所有的数学思想都来源于生活经验,你肯定可以搞明白。学习数学,最忌讳的就是把它当作一种抽象的数字游戏,非数学系的理工科接触到的数学,必然有一条条形象的、直观的生活经验与之对应。

之所以觉得微积分困难,可能怪老师,可能怪课本,一开始就堆砌一堆晦涩难懂拗口的数学语言,对于初学者来说,直接就望而却步了。如果老师讲泰勒展开之前,先把这种思想讲明白,那接下来再去抠数学语言就轻松很多。

中午,看到了公众号推送的一篇文章“怎样更好地理解并记忆泰勒展开式”,文章中对于泰勒公式的讲解通俗、有趣,语言诙谐幽默,文章最后对于理工科学生学数学的见解独到,个人觉得十分在理,所以贴在了开头。当然原文更加精彩,推荐大家去看原文铺垫部分,肯定会感慨良多😄。

最初接触泰勒公式,是在本科高数课上,老师的讲解枯燥乏味,再加上公式本身不好记,所以课后唯一记得的重点就是——这块不是考点。泰勒公式和傅里叶级数一样,在我脑海里仅仅是一个高大上的数学名词,其他啥也不知道。后来,考研复习再次碰到泰勒公式这只拦路虎,虽然很不情愿,但是泰勒公式毕竟在求极限、计算时很好用,所以还是硬着头皮记了很多函数的泰勒展开式。这一阶段,是知其然而不知其所以然。今天,就借着阅读的兴趣,真正领会泰勒公式的内涵吧。

正题

基础知识

一、泰勒公式

  • 定义:Taylor’s Formula,是一个用函数在某点的信息描述其附近取值的公式。

  • 初衷:用多项式来近似表示函数在某点周围的情况。

  • 举例:比如:\(e^x\) 在 \(x=0\) 的附近可以用以下多项式来近似地表示: 上式称为指数函数在 0 处的 n 阶泰勒展开公式。这个公式只对 0 附近的 x 有用,x 离 0 越远,这个公式就越不准确。实际函数值和多项式的偏差称为泰勒公式的余项。

二、泰勒定理

  • 概述:一个可微函数,如果函数足够光滑的话,在已知函数在某一点的各阶导数值的情况之下,泰勒公式可以用这些导数值做系数构建一个多项式来近似函数在这一点的邻域中的值,这个多项式称为泰勒多项式。

  • 定义:

三、余项估计

余项 \(R_n{x}\) 有多种不同的表达形式:

  • 皮亚诺式余项:带有皮亚诺型余项的泰勒公式说明了多项式和函数的接近程度,也就是说,当x 无限趋近a 时,余项 \(R_{n}(x)\) 将会是 \((x-a)^{n}\) 的高阶无穷小,也就是远小于 \((x-a)^n\)。

  • 朗格朗日余项:带有拉格朗日型余项的泰勒公式可以视为拉格朗日微分中值定理的推广,其中 \(\theta \in (a,x)\) 。

  • 积分型余项:带有积分型余项的泰勒公式可以看做微积分基本定理的推广。

\[R_n(x) = \int_{a}^{x}\frac{f^{n+1}(t)}{n!}(x-t)^n\ dt\]

故事开始

  • 主人公:布鲁克·泰勒
  • 国籍:英国
  • 身份:数学家
  • 照片:看上去不是很帅……

开场

背景:某一天,泰勒想要计算 \(e^2\) 或者 \(cos2\),发现不是很好算;

分析:不管是 \(e^x\) ,还是三角都具有一种良好的品质,可以无限求导,而且求导很容易;

想法:能不能用某种函数把这类函数替换掉(在图像上保持和原函数一致),使计算变得简单呢?

发展

对象:选定研究对象,函数 \(f(x)=cosx\); 目标:仿造一段一模一样的曲线 g(x),从而避免余弦计算;

选点:想要复制这段曲线,首先得找一个切入点,任何一点都可以,他选择了最左边的点(0,1);

仿造:

  • 第一步:曲线也要过点(0,1);
  • 第二步:曲线的变化趋势要相同,即一阶导数相同;
  • 第三步:曲线的凹凸性要相同,即二阶导数相同;
  • 细节无限逼近……

高潮

计算:根据仿造阶段提出的要求,需要以下计算:

  • 第一:\(f(0) = g(0)\);
  • 第二:\(f'(0) = g'(0)\);
  • 第三:\(f''(0) = g''(0)\);
  • 最后:两个函数在 0 处的 N 阶导数一致;

问题:

  • 和原函数类似,g(x)必须也可以无限求导,那么它是一个怎样的形式?
  • 实际计算,不需要无限求导,只要结果满足要求精度就行,求几阶导合适?

设计:大佬略作思忖,决定采用多项式的形式,多项式能够求几阶导取决于最高次项的指数;

实践:从一次、两次、四次,到计算机模拟的高次,两段曲线的吻合度逐渐提高,作者文章里面有图,看起来更直观;

提高:泰勒那时没有计算机,计算到四阶扛不动了,突然灵关一闪,为什么自己要从(0,1)这个点算呢,从 0 到 2 山高路远坑深,何不找个离2近一点的好算的点,比如(π/2,0);

结尾

反思:函数的形式是:

\[g(x) = a_0 + a_1x + a_2x^2 + \cdots + a_nx^n\]

约束:

\[g(0) = f(0) = a_0\ \&\&\ g^n(0) = f^n(0)\]

求导时只剩最后一项:\(n!a_n\) 等于 \(f^n(0)\),推出:

\[a_n = \frac{f^n(0)}{n!}\]

综上:

\[g(x) = g(0) + \frac{f^1(0)}{1!}x + \frac{f^2(0)}{2!}x^2 + \cdots + \frac{f^n(0)}{n!}x^n\]

泛化:如果不是从 0 处展开,而是从 \(x_0\) 呢:

\[g(x) = g(x_0) + \frac{f^1(x_0)}{1!}(x-x_0) + \frac{f^2(x_0)}{2!}(x-x_0)^2 + \cdots + \frac{f^n(x_0)}{n!}(x-x_0)^n\]

最后:逼近毕竟是逼近,不是完全意义上的等于,所以应该是:

\[f(x) \approx g(x)\]

参考文献

  1. 维基百科:泰勒公式
  2. 怎样更好地理解并记忆泰勒展开式