关于 Long Luo

程序员,数学,物理类,编程类技术文章。

RSS 地址: https://www.longluo.me/atom.xml

请复制 RSS 到你的阅读器,或快速订阅到 :

Long Luo RSS 预览

数学之美:几何视角下的高斯积分(Gaussian Integral)

1970-01-01 08:00:00

By Long Luo

从之前的文章 正态分布(Normal Distribution)公式为什么长这样?从最小二乘法到正态分布:高斯是如何找到失踪的谷神星的? ,我们使用了 \(2\) 种不同的方法最终得到了如下公式 \((1)\) 所示的误差的概率密度函数 ( \(\text{Probability Density Function}\) ) :

\[ f(x) = \mathrm{e}^{-cx^2}, \, c > 0 \tag{1} \label{1} \]

其函数图像如下图 1 所示的钟形曲线 ( \(\text{Bell Curve}\) ) :

图1. 钟形曲曲线

在概率论中,我们需要保证上图 1 中 \(f(x)\)\(x\) 轴围成的面积是 \(1\) , 即:

\[ \int_{- \infty}^{+ \infty} f(x) \mathrm{d}x = 1 \tag{2} \label{2} \]

最终我们得到了正态分布 ( \(\text{Normal Distribution}\) ) 的公式如下所示:

\[ f(x) = {\frac {1}{\sigma {\sqrt {2 \pi }}}}\;e^{-{\frac {\left(x - \mu \right)^{2}}{2 \sigma ^{2}}}} \tag{3} \label{3} \]

上式中有一个 \(\pi\) ,用费曼( \(\text{Richard Feynman}\) )的话来说,当我们看到一个公式中存在 \(\pi\) 时,我们都要问自己“Where is the cycle?”。我们知道公式 \(\eqref{3}\) 中的归一化系数 \(\frac {1}{\sigma {\sqrt {2 \pi }}}\) 是为了保证 \(f(x)\) 下的面积为 \(1\) ,出现 \(\pi\) 是因为高斯积分 ( \(\text{Gaussian Integral}\) ) 的结果为 \(\sqrt{\pi}\)

那么什么是高斯积分呢?高斯积分和圆有什么关系呢?

从最小二乘法到正态分布:高斯是如何找到失踪的谷神星的?

1970-01-01 08:00:00

By Long Luo

在上一篇文章 正态分布(Normal Distribution)公式为什么长这样? 中,我们使用了投掷飞镖的模型,推导出了正态分布( \(\text{Normal Distribution}\) )的表达式。这种方法既优雅又直观,所以常被用于科普视频或者文章中。那么这个例子是怎么来的呢?我们知道这个方法是天文学家赫歇尔( \(\text{John Herschel}\) )在 1850 年给出的,难道他在投掷飞镖时想到的吗?

答案是否定的,原因是因为赫歇尔作为一个天文学家,需要精确的测量天体的位置,而在观测星星时,必须要考虑误差的影响。星星在天球中的位置误差是二维的,考虑到误差大家不太好理解,所以用了投掷飞镖这个更通俗易懂的例子。

正如法国著名哲学家孔德( \(\text{Auguste Comte}\) ,1798-1857)所说“To understand a science, it is necessary to know its history. ”,只有了解这个学科的发展历史,了解这个学科的重要概念是如何建立起来的,才能真正理解这个学科。不同于我们在课本中学习顺序,科学是用来解决实际问题的,科学是由一个个问题所驱动发展的。正如仅次牛顿和爱因斯坦的伟大物理学家麦克斯韦( \(\text{James Clerk Maxwell}\) ) 曾说过“It is of great advantage to the student of any subject to read the original memoirs on that subject, for science is always most completely assimilated when it is in the nascent state…”,我们学习历史上科学家是如何解决这些问题,用了什么方法,才能获取某个概念的 insight ,建立 intuition

正态分布,又被称为高斯分布( \(\text{Gaussian Distribution}\) ),人们可能会以为正态分布是由高斯发现的,但事实并非如此!

正态分布最早是由法国数学家棣莫弗( \(\text{Abraham de Moivre}\) , 1667-1754)在 1718 年左右发现的。他为了解决朋友提出的一个赌博问题,而去认真研究了二项分布。他发现当实验次数增大时,二项分布( \(p=0.5\) )趋近于一个看起来呈钟形的曲线,如下图 1 所示。后来著名法国数学家拉普拉斯( \(\text{Pierre-Simon Laplace}\) , 1749-1827)对此作了更详细的研究,并证明了 \(p \ne 0.5\) 时二项分布的极限也是正态分布。之后人们便将此称为棣莫弗 - 拉普拉斯中心极限定理\(\text{Central limit theorem}\) )。

图1. 二项分布趋近钟形曲线

失踪的谷神星

16 和 17 世纪是天文学发展的黄金时期,这一时期的科学革命彻底改变了人类对宇宙的理解。哥白尼( \(\text{Nicolaus Copernicus}\) ,1473-1543)的日心说、开普勒( \(\text{Johannes Kepler}\) ,1571-1630)的行星运动三定律、伽利略( \(\text{Galileo Galilei}\) ,1564-1642)的望远镜观测以及牛顿( \(\text{Isaac Newton}\) ,1643-1727)的万有引力定律共同构成了现代天文学的基础。这一时期的科学家们不仅改变了人类对宇宙的理解,还为后续的科学研究提供了重要的方法和工具。

正态分布(Normal Distribution)公式为什么长这样?

1970-01-01 08:00:00

By Long Luo

相信大家或多或少都听过六西格玛( \(\text{6 Sigma}\) ) 1 这个词,六西格玛是指生产的产品中, \(99.99966\%\) 的产品是没有质量问题的,即只有 \(3.4ppm\) 的不良率。

假如一家工厂生产某型号零件,零件的长度要求是 \(100mm\) ,允许的标准差是 \(0.1mm\) 。根据 \(6 \sigma\) 原则,零件规格允许的偏差范围是: \(100 \pm 6 \times 0.1 = 100 \pm 0.6\)

这意味着,零件长度超过 \(100.6mm\) 或低于 \(99.4mm\) 的概率是非常低的,约为 \(0.00034\%\) 。如果工厂每天生产 100 万个零件,只允许有 \(3.4\) 个零件会超出 \(6 \sigma\) 的范围,几乎可以忽略不计。因此,生产过程是极其稳定和可靠的,达到了六西格玛水平。

那么 \(6 \sigma\)\(3.4ppm\) 的不良率来自哪里呢?

学过中学数学都知道,在正态分布( \(\text{Normal Distribution}\) ) 2 中, \(68.27\%\) 的数据位于平均值的一个标准差内, \(95.45\%\) 位于两个标准差内, \(99.73\%\) 位于三个标准差内,这也是著名的 68-95-99.7 Rule 3 ,如下图 1 所示:

图1. 68-95-99.7 Rule

什么是正态分布?

数据可以用不同的方式“分布”,比如数据可以向左散布的多一些,也可以向右散布的多一些,或者分布的乱七八糟,如下图 2 - 4 所示,

图2. 数据偏向左散布
图3. 数据偏向右散布
图4. 数据随机分布

但数据经常会集中在一个中心值的附近,而不向左或右偏斜,像一个钟形,如下图 5 所示。

图5. 数据正态分布

正态分布,又称高斯分布( \(\text{Gaussian Distribution}\) ),是一种重要的概率分布,数学王子高斯 4 在正态分布的研究和应用上做出了巨大贡献。有很多日常现象都符合这种分布,如人的身高、考试成绩等。正因为它几乎无处不在,所以叫 \(\text{Normal Distribution}\) 。德国曾经发行的一款 10 马克的纸币上就印着高斯和正态分布曲线,如下图 6 所示。

图6. 高斯和正态分布曲线

高速公路编号背后的数学密码

1970-01-01 08:00:00

By Long Luo

世界那么大,我想去看看!随着科技的发展,我们早已做到无需离开家就能领略世界各地的风景和文化。通过高清视频、高清直播、社交媒体、 VR 技术、各种图片或者视频分享平台,我们不仅可以体验世界名胜古迹、自然美景和各地的风土人情,还能与当地居民互动,了解他们的日常生活和传统文化。互联网丰富了人们的生活,缩小了地域的界限,真正实现了让世界触手可及,足不出户便可周游世界的梦想。但正所谓“百闻不如一见”,“读万卷书,不如行万里路!”,尽管互联网让我们可以虚拟游览世界,但亲自出行的体验无可替代。自由行不仅提供了前所未有的自由和灵活性,还能让我们亲身感受到大自然的美妙、城市的活力。这种身临其境的体验,远非屏幕前的感受可比。

当你打开地图软件时,你会看到如图 1 所示的道路标志,

图1. 道路编号

当你在道路出行时,你也会看到看到如下图 2 所示的路牌,但你可能并未真正留意过这些标志。因为现在我们只需要有一部联网的智能手机,在地图类软件里,设定出发地和目的地,自然有导航会指引我们到达目的地。

图2. G35 高速萝岗路段

这些编号肯定不是随机的,那么这些道路编号到底有什么用呢?出于好奇心你可能会去寻找答案,你很容易轻松找到 中国国家高速的编号密码 1 和 高速公路是怎样命名和编号 2 这样的文章。但这些文章只是告诉我们是什么,并没有告诉我们为什么。

国内现行的高速公路命名是由交通部从 2005 年启动的 3 ,之前道路都以起始地和终点地命名。你可能会想,之前那种命名方式不是更合理吗?用了数字不是更加不清晰易懂吗?如果图 1 不是路牌上写了济广高速,谁知道 G35 4 是哪里到哪里呢?

如果你更进一步的话,如果你去了解世界其他国家的高速公路命名的话,你会惊讶的地发现为什么居然全世界各主要大国都选择了类似的编号系统,这背后的原因是什么呢?

要回答这个问题,我们需要把时钟拨回几十年前,回到高速公路诞生的时期,那个没有 GPS ,没有手机,只有纸质地图的时代,我们才能知道这种编号系统的重要意义实用性,以及背后的数学密码

世界各国如何对高速公路进行编号?

我们已经了解了国内高速公路编号 5 ,让我们看看其他国家的高速公路系统编号是什么样的。这些国家需要国土面积足够大,高速公路系统足够发达,国土疆域长宽比例没有太夸张,人口分布比较均匀。

2024 阿里巴巴全球数学竞赛预选赛 试题解答

1970-01-01 08:00:00

By Long Luo

阿里巴巴达摩院 从 2018 年开始每年都会举办一届全球数学竞赛,之前一方面自己数学水平比较弱,另外一方面也没有报名,但一直很仰慕那些数学大神的风采。今年是第一次报名参加 2024阿里巴巴全球数学竞赛 ,上周末参加了预选赛,但遗憾的是,全部 \(7\) 道题中只有第 \(1, 2, 6\) 题会做,这里分享下我的解答:

Problem 1

几位同学假期组成一个小组去某市旅游. 该市有 \(6\) 座塔,它们的位置分别为 \(A, B, C, D, E, F\) 。同学们自由行动一段时间后,每位同学都发现,自己在所在的位置只能看到位于 \(A, B, C, D\) 处的四座塔,而看不到位于 \(E\)\(F\) 的塔。已知:

  1. 同学们的位置和塔的位置均视为同一平面上的点,且这些点彼此不重合;
  2. 塔中任意 \(3\) 点不共线;
  3. 看不到塔的唯一可能就是视线被其它的塔所阻挡,例如,如果某位同学所在的位置 \(P\)\(A , B\) 共线,且 \(A\) 在线段 \(PB\) 上,那么该同学就看不到位于 \(B\) 处的塔。

(5 分) 请问 这个旅游小组最多可能有多少名同学?

\(A. 3\)
\(B. 4\) \(C. 6\) \(D. 12\)

Solution

这道题选 \(C\) ,最多只能有 \(6\) 名同学。

这道题的解题思路是从假设只有 \(1\) 座塔开始,一直到 \(6\) 座塔,找到思路。

  1. 假设有 \(1\) 座塔 \(A\) ,那么很显然有无数多同学可以看到塔 \(A\) ,也可以有无数多同学看不到塔 \(A\)​ ;

  2. 假设有 \(2\) 座塔 \(A, B\) ,那么只有以 \(A\) 为起点的射线 \(AB\) 且位于 \(B\) 之后的同学无法看到塔 \(A\)

  3. 假设有 \(3\) 座塔 \(A, B, C\) ,同理可知存在无数位同学至少可以看见 \(2\) 座塔;

  4. 假设有 \(4\) 座塔 \(A, B, C, D\) ,同理可知存在无数位同学至少可以看见 \(2\) 座塔;

  5. 假设有 \(6\) 座塔 \(A, B, C, D, E, F\) ,如果每位同学都无法看见 \(E, F\) 塔,如下图1 所示:

图1. Solution of Problem 1

所以至多有 \(6\) 位同学位于 \(M, N, O, P, R, Q\) 处,无法看到塔 \(E, F\)

库函数 (libm) 是如何计算三角函数值的?

1970-01-01 08:00:00

By Long Luo

挖坑!

<

payne hanek 归约算法

1970-01-01 08:00:00

By Long Luo

挖坑

参考文献

  1. 音乐背后的数学

    1970-01-01 08:00:00

    By Long Luo

    挖坑

    声音是什么?

    什么是和弦?

    参考文献

素描背后的物理

1970-01-01 08:00:00

By Long Luo

挖坑

参考文献

  1. cody waite

    1970-01-01 08:00:00

    By Long Luo

    挖坑

    参考文献

    1. 浮点数

      1970-01-01 08:00:00

      By Long Luo

      挖坑

      假如你知道浮点数的话,你就知道为什么了!

      按照 IEEE 754 浮点数标准 制定的 浮点数运算法则, float 类型的单精度浮

Remez Algorithm

1970-01-01 08:00:00

By Long Luo

挖坑

参考文献

  1. 参数归约算法(Argument Range Reduction):如何在浮点数环境下计算超大数字的三角函数值?

    1970-01-01 08:00:00

    By Long Luo

    之前写过一篇介绍 CORDIC 算法 1 的文章,里面提到 CORDIC 算法的 不足 之处,CORDIC 算法的输入角度范围需要在 \([−99.88^{\circ} , 99.88^{\circ}]\) ,那么我们不禁要问,如果输入角度 \(\large {\theta }\) 很大的话,怎么处理呢?

    这个问题同样存在于 泰勒展开式(Taylor series) 2 中,比如 \(\large {\sin (x) }\)\(\large {\cos (x) }\) 的泰勒展开式:

    \[ \sin(x) = x - \frac {1}{3!}x^3 + \frac {1}{5!}x^5 - \frac {1}{7!} x^7 + \frac {1}{9!} x^9 + o(x^9) \quad \forall x \subset \mathbb{R} \]

    \[ \cos(x) = 1 - \frac {1}{2!}x^2 + \frac {1}{4!}x^4 - \frac {1}{6!} x^6 + \frac {1}{8!} x^8 + o(x^8) \quad \forall x \subset \mathbb{R} \]

    虽然在整个实数集 \(\large { \mathbb{R}}\) 都成立,但是在实际应用中因为展开项数限制和浮点数的精度限制, \(\large {x}\) 的范围只有在接近 \(\large {0}\) 的时候才有比较高的精度。

    但是实际应用中,如果输入 \(\large {x}\) 很大的话,比如 \(\large {2^{32}, 10^{10}, 10^{22} \dots }\) 情况下怎么得到足够精确的值呢?

    中学里我们知道三角函数是周期函数,对于比较大的值,我们可以使用下面的公式将值归约到一个比较小的范围内。

    \[ x' = x - 2k \pi \quad k \subset \mathbb{Z} \]

    这就是我们今天要讲的 参数归约(Argument Reduction) 算法。

    从小学计算题开始

    参数归约 听起来就很唬人,什么是参数啊,什么归约啊,都是些高大上的名词,听起来云里雾里的!

    为了不让大家产生厌倦和畏难心理,我们先从一道小学数学计算题开始:

    不借助计算器,计算 \(\large {66600 \times 666000}\) 的值!

    对于这道题,大家可能会列出下列算术:

    \[ 66600 \times 666000 = 666 \times 666 \times 100000 = 44355600000 \]

    但其实呢,我们也可以使用下面的方法:

    \[ \begin{aligned} 66600 \times 666000 &= 111^2 \times 4 \times 9 \times 10^5 \\&= 444 \times 999 \times 10^5 \\&= 444 \times (1000 - 1) \times 10^5 \\&= 4443556 \times 10^5 \end{aligned} \]

    如果我说上面这 \(\large {2}\) 种方法都用到了参数归约的思想,你可能会感到震惊,什么?这种小学计算题也用到了参数归约算法吗?

素描背后的数学

1970-01-01 08:00:00

By Long Luo

挖坑

参考文献

  1. 发生在计算机内存里的进化:解密遗传算法(Genetic Algorithm)

    1970-01-01 08:00:00

    By Long Luo

    这篇文章部分内容还在优化,Demo 还在继续开发,大概还需要 7 - 8 小时写作时间。

    无限猴子定理(英语:Infinite monkey theorem)

    让一只猴子在打字机上随机地按键,当按键时间达到无穷时,几乎必然能够打出任何给定的文字,比如莎士比亚的全套著作。

    在这里,几乎必然是一个有特定含义的数学术语,“猴子”也不是一只真正意义上的猴子,它被用来比喻成一个可以产生无限随机字母序列的抽象设备。这个理论说明把一个很大但有限的数看成无限的推论是错误的。猴子精确地通过键盘敲打出一部完整的作品比如说莎士比亚的哈姆雷特,在宇宙的生命周期中发生的概率也是极其低的,但并不是零。

    遗传算法(Genetic Algorithm) 1 是一种元启发式搜索和优化技术,借鉴了生物进化中的自然选择和遗传机制。它已经在各个领域展示出了强大的应用潜力。本文将介绍遗传算法的发展历史、原理、示例,以及其广泛应用和不足之处。

    发展历史

    遗传算法的发展可以追溯到上世纪60年代的约翰·荷兰德(John Holland)和他的同事们的工作。他们首先提出了基因型与表现型之间的映射关系,并通过模拟生物进化过程来解决复杂的优化问题。

    原理

    遗传算法的核心原理是模拟自然进化的过程。它通过定义适应度函数来评估候选解的质量,并利用遗传操作(选择、交叉和变异)对候选解进行迭代改进。具体而言,算法从一个初始种群开始,通过选择适应度较高的个体作为父代,进行交叉和变异操作产生新的后代个体,然后通过评估适应度来选择出下一代个体。这个过程不断迭代,直到找到满足特定条件的优秀解。

    It’s never too late

    举个例子

    目前参考网络资源写了一个简单的Demo,地址:http://longluo.me/projects/genetic

    这个例子还有待完善!

    Genetic Algorithm

CORDIC算法:一种高效计算三角函数值的方法

1970-01-01 08:00:00

By Long Luo

任何一款科学计算器上都可以计算三角函数,三角函数应用于生活工作中的方方面面,但计算机是如何计算三角函数值的呢?

三角函数本质上是直角三角形的3条边的比例关系,计算并没有很直观,那么计算机是如何计算三角函数值的呢?

在微积分中我们学习过 泰勒公式 ,我们知道可以使用泰勒展开式来对某个值求得其近似值,例如:

\[ \sin \angle 18^{\circ} = \frac{\sqrt {5} - 1}{4} \approx 0.3090169943 \]

利用泰勒公式,取前 \(4\) 项:

\[ \sin x \approx x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} \]

代入可得:

\[ \sin \angle 18^{\circ} = \sin \frac{\pi}{10} = \frac{\pi}{10} - \frac{1}{6} (\frac{\pi}{10})^3 + \frac{1}{120} (\frac{\pi}{10})^5 - \frac{1}{5040} (\frac{\pi}{10})^7 \approx 0.30903399538 \]

可见取前 \(4\) 项时精度已经在 \(10^{-5}\) 之下,对于很多场合精度已经足够高了。

在没有了解 CORDIC(Coordinate Rotation Digital Computer) Algorithm 1 算法之前,我一直以为计算器是利用泰勒公式去求解,最近才了解到原来在计算机中,CORDIC 算法远比泰勒公式高效。

下面我们就来了解下泰勒公式的不足之处和 CORDIC 算法是怎么做的。

泰勒公式的缺点

上一节我们使用泰勒公式去计算三角函数值时,需要做很多次乘法运算,而计算器中乘法运算是很昂贵的,其缺点如下所示:

  1. 展开过小则会导致展开精度不够,展开过大则会导致计算量过大;
  2. 幂运算需要使用乘法器,存在很多重复计算;
  3. 需要很多变量来存储中间值。

在之前的文章 矩阵乘法的 Strassen 算法 ,就是通过减少乘法,多做加法,从而大大降低了运算量,那么我们可以用相同的思想来优化运算吗?

当然可以,让我们请出今天的主角:CORDIC 算法

我们常见的地图是如何绘制的?墨卡托投影是什么?

1970-01-01 08:00:00

By Long Luo

最近在书店里看到一本 《数学的奥秘》 ,原著是 《The Secret Life of Equations: The 50 Greatest Equations and How They Work》 ,讲的是最伟大的数学方程式起源、构成、含义和应用。书的内容并不多,我看了其中的一部分,里面有讲 墨卡托投影 (Mercator projection)1

我对地理和地图一直很感兴趣,但之前对原理一直一知半解的,只知道我们常见的地图都是墨卡托投影,由墨卡托2 在 1569年创立。但墨卡托投影的原理是什么却并不清楚。书里面只有几页,但具体公式缺乏说明及推导过程,所以这几天通过查找资料掌握了墨卡托投影的原理。

如何绘制地图?

在大航海时代,航海家可以通过六分仪和观察日月星辰获取到经纬度,但在茫茫大海中迷失方向是很可怕的事情,如何才能正确的航行到目的地呢?

地球由于自转是一个两极比赤道略短的扁球体,但扁率约为 \(\frac {1}{300}\) ,非常之低,因为可以视为球体。因为球面不是可展曲面,也就是如果展成平面的话,长度会发生形变,所以也会形变。因为根据高斯绝妙定理 (Gauss theorem egregium)3 ,平面的高斯曲率为 \(0\) ,而球面的高斯曲率为 \(\frac {1}{R^2}\) ,其中 \(R\) 为球面半径,所以在保持图形完整性前提下,将球面转化为平面,投影后得到的经纬线网形状必然会产生变形,也就是说,在投影的过程中,变形是必然存在的。

在这种情况下,墨卡托运用等角圆柱投影法绘制了航海图,极大地方便了航海家。有了墨卡托海图,航海家想要到达某个目的地,只需要在出发点和目的地之间连一条直线,量出这条航线和经线的夹角,按照航行路线就能到达目的地。

Map Mercator Projection

什么是墨卡托投影?

设想将地球置于在一中空的圆柱里,如下图所示,其基准纬线(赤道)与圆柱相切。再设想地球中心处放置一灯泡,那么从球心处发射的光线会把球面上的图形投影到圆柱体上,之后再将把圆柱体展开,那么就可以得到一张墨卡托投影绘制出的地图。

智能控制系统的灵魂:深入研究 PID 控制器的算法逻辑

1970-01-01 08:00:00

By Long Luo

PID 算法 s是自动控制领域中很重要的算法。

\[ u(t) = K_Pe(t) + K_I \int e(t) \mathrm{d}t + K_D \frac{\mathrm{d}e(t)}{\mathrm{d}t} \]

Simple PID Controller

非常简单的 PID 算法在线互动式模拟器,传送门 →

PID Algorithm

之前这个是 PID v1.0 版本,最近重构了代码,增加了一些新功能:

  1. 增加机器人速度 \(v\) 及加速度 \(a\) 显示;
  2. 增加 2 个图表展示 PID X 轴方向及 Y 轴方向的 P、I、D \(3\) 个分量随时间变化显示;
  3. 之前代码将时间及速度固定了,但这不符合实际,增加随 \(dt\) 变化积分和微分项;

pid_track

解密卡尔曼滤波(Kalman Filter)算法:深入解析卡尔曼滤波算法原理与在线可视化实例

1970-01-01 08:00:00

By Long Luo

Kalman Filter1 是贝叶斯滤波器的一种特殊实现。

Kalman Filter 1D | 一维卡尔曼滤波器

一维卡尔曼滤波器如下图所示:

Kalman Filter 1D

在线动画展示:http://www.longluo.me/projects/kalman/

从记忆到洞察:轻松掌握泰勒展开式(Taylor Series)的记忆技巧

1970-01-01 08:00:00

By Long Luo

在数学、物理学、工程和计算机领域中,泰勒公式1 是一种广泛使用的分析方法,用来计算函数的近似值。在实践中,很多函数非常复杂,而且某些函数是不可积的,想求其某点的值,直接求无法实现。

泰勒公式可以将复杂的函数近似地表达为简单的多项式函数,用一个多项式函数去逼近一个给定的函数(即尽量使多项式函数图像拟合给定的函数图像)。注意在逼近的时候一定是从函数图像上的某个点展开。

下图所示就是不同项数的泰勒公式对 \(\sin x\) 的逼近:

768px-Sintay

泰勒级数的定义为:

\[ f(x) = \sum _{n=0}^{\infty}{\frac{f^{(n)}(a)}{n!}}(x-a)^{n} = f(a) + {\frac {f'(a)}{1!}}(x - a) + {\frac {f''(a)}{2!}}(x - a)^{2} + {\frac {f'''(a)}{3!}}(x - a)^{3} + \cdots \]

这里,\(n!\) 表示 \(n\) 的阶乘,而 \(f^{(n)}(a)\) 表示函数 \(f\) 在点 \(a\) 处的 \(n\) 阶导数。如果 \(a = 0\) ,这个级数也被称为麦克劳林级数(Maclaurin series)2

泰勒展开式有很多,那么如何记忆呢?首先我们需要明白,泰勒公式之间都是有相互关联的,我们可以通过推导来理解性记忆这些公式。泰勒公式的具体推导过程可以参考数学分析教材或者网络3

下面我们就推导这些公式,以便更好的记忆4

几何级数 Geometric series

对于 \(-1 < x < 1\) 的情况,几何级数5 由等比数列求和公式可得:

\[ \frac{1}{1 - x} = \sum _{n=0}^{\infty}x^{n} = 1 + x + x^{2} + \cdots + x^{n} \]

\(-x\) 代入 \(x\) 上式,则:

\[ \frac{1}{1 + x} = \sum _{n=0}^{\infty}(-1)^nx^{n} = 1 - x + x^{2} - x^3 + \cdots + (-1)^n x^{n} \]

\(x^2\) 替代 \(x\) , 由于 \(\arctan x = \int_{0}^{x} \frac{1}{1 + x^2} \mathrm{d}x\) ,对于 \(-1 \le x \le 1, x \neq \pm i\)

\[ \arctan x = \sum _{n=0}^{\infty }{\frac {(-1)^{n}}{2n + 1}}x^{2n + 1} = x - {\frac {x^3}{3}} + {\frac {x^5}{5}} - \cdots + \frac{(-1)^n}{2n + 1}x^{2n + 1} \]

因为 \(\frac{1}{(1 - x)^2} = (\frac{1}{1 - x})'\) ,则:

\[ \begin{aligned} \frac {1}{(1-x)^2} &= \sum _{n=1}^{\infty }n x^{n-1} \\ &= 1 + 2x + 3x^2 + \cdots + n x^{n-1} \end{aligned} \]

\(\frac{1}{(1 - x)^3} = \frac{1}{2} (\frac{1}{(1 - x)^2})'\) ,则有:

\[ \frac {1}{(1 - x)^3} = \sum _{n=2}^{\infty }{\frac {n(n - 1)}{2}}x^{n - 2} \]

指数函数 Exponent function

由于 \(\frac{\mathrm{d} e^x}{\mathrm{d} x} = e^x\)\(e^0 = 1\) 那么:

\[ e^x = \sum _{n=0}^{\infty }{\frac{x^n}{n!}} = 1 + x + {\frac{x^2}{2!}} + {\frac {x^3}{3!}} + \cdots + {\frac{x^n}{n!}} \]

很明显:

\[ \begin{aligned} (e^x)' &= (\frac{1}{0!}+\frac{x}{1!}+\frac{x^2}{2!}+\frac{x^3}{3!}+\cdots)' \\ e^x &= 0+1+\frac{x}{1}+\frac{x^2}{2!}+\frac{x^3}{3!}\cdots \\ &= 1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+\cdots \end{aligned} \]

对于普通指数函数 \(a^x\) , 由于 \(a^x=e^{x\ln a}\) ,如果将 \(x\) 换为 \(x\ln a\) ,那么 \(a^x\) 的泰勒展开式:

\[ \begin{aligned} a^x &= e^{x \ln a} \\ &= 1 + x \ln a + \frac{(x \ln a)^2}{2!} + \frac{(x \ln a)^3}{3!} + \cdots + \frac{(x \ln a)^n}{n!} \\ \end{aligned} \]