引言
在数学、物理学甚至计算机科学的世界里,泰勒级数(Taylor series)和麦克劳林级数(Maclaurin series)是极其强大的工具。它们是将“难以计算的复杂函数”(如指数函数和三角函数)表示为“仅用加法和乘法就能计算的简单多项式”的无穷和的方法。
计算器和计算机之所以能瞬间计算出 $\sin(37^\circ)$ 或 $e^{2.5}$ 这样的值,是因为它们在内部运用了这些展开式进行近似计算。在本文中,我们将详细解释这种神奇的数学技术,从其直观含义到严格的公式,再到实际应用。
为什么要用多项式来近似函数?
首先,为什么有必要将一个函数表示为多项式( $a + bx + cx^2 + \dots$ )呢?
flowchart LR
A["复杂函数"] -->|"泰勒展开"| B["多项式的无穷和"]
B -->|"有限项截断"| C["多项式近似"]
C -->|"仅基本算术运算"| D["高速计算机计算"]
许多描述自然现象的函数是非线性的,这使得它们很难直接用手算,或者仅仅依靠计算机的 CPU 指令来计算。然而,由于多项式只由加法和乘法组成,它们具有极其容易被计算机处理的优势。
麦克劳林展开的直观理解
首先,让我们考虑麦克劳林展开,它在一个特定点 $x = 0$ 附近近似一个函数。 假设我们有一个未知函数 $f(x)$。我们想在 $x = 0$ 附近用如下的多项式 $P(x)$ 来近似这个函数:
$$ P(x) = c_0 + c_1 x + c_2 x^2 + c_3 x^3 + \dots $$提高近似精度的条件如下:
- 0阶近似 : 在 $x=0$ 处的函数值匹配( $P(0) = f(0)$ )。 这导致 $c_0 = f(0)$。
- 1阶近似 : 在 $x=0$ 处的斜率(一阶导数)匹配( $P'(0) = f'(0)$ )。 这导致 $c_1 = f'(0)$。在图表上,这就是函数 $f(x)$ 在 $x=0$ 处的切线。
- 2阶近似 : 在 $x=0$ 处的曲率(二阶导数)匹配( $P''(0) = f''(0)$ )。 因为 $P''(x) = 2 c_2$,我们有 $c_2 = \frac{f''(0)}{2}$。
- $n$阶近似 : 一般来说,通过匹配到第 $n$ 阶导数,我们可以更准确地模仿 $x=0$ 附近的行为。
麦克劳林展开的公式与推导
通过无限次重复上述的直观条件,我们可以得到一个使用函数各阶导数系数的美丽级数。这就是所谓的麦克劳林展开。
$$ f(x) = f(0) + f'(0)x + \frac{f''(0)}{2!}x^2 + \frac{f^{(3)}(0)}{3!}x^3 + \dots $$使用西格玛记号书写,看起来像这样:
$$ f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(0)}{n!} x^n $$这里, $f^{(n)}(0)$ 是函数 $f(x)$ 求导 $n$ 次并代入 $x=0$ 得到的值,而 $n!$ 表示 $n$ 的阶乘( $n \times (n-1) \times \dots \times 1$ )。
典型函数的麦克劳林展开
在这里,我们介绍经常出现的重要函数的麦克劳林展开。
1. 指数函数 $e^x$
指数函数 $f(x) = e^x$ 无论求导多少次,仍然是 $e^x$。因此,当代入 $x=0$ 时,所有阶的导数系数都变成 $1$( $f^{(n)}(0) = 1$ )。
$$ e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \dots = \sum_{n=0}^{\infty} \frac{x^n}{n!} $$2. 三角函数 $\sin x$ 和 $\cos x$
当 $\sin x$ 被反复求导时,它会循环变化: $\cos x, -\sin x, -\cos x, \sin x, \dots$。通过代入 $x=0$,只有奇数阶的导数系数保留下来,偶数阶变为 $0$。
$$ \sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + \dots = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n+1)!} x^{2n+1} $$同样,对于 $\cos x$,只有偶数阶的项保留下来。
$$ \cos x = 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \frac{x^6}{6!} + \dots = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n)!} x^{2n} $$推广到泰勒展开
虽然麦克劳林展开是在 $x=0$ 附近的近似,但将其推广到任意点 $x=a$ 附近的近似就得到了泰勒展开。
$$ f(x) = f(a) + f'(a)(x-a) + \frac{f''(a)}{2!}(x-a)^2 + \dots = \sum_{n=0}^{\infty} \frac{f^{(n)}(a)}{n!} (x-a)^n $$当你想要预测在距离 $x=a$ 稍微有一段距离的位置( $x = a + \Delta x$ )的函数值时,这个公式就显示出了它的威力。
泰勒展开的应用
物理学中的线性近似
在物理学中,使用泰勒展开的近似经常被用来使运动方程更容易求解。例如,在钟摆运动中,如果摆角 $\theta$ 足够小,我们只提取 $\sin \theta$ 的麦克劳林展开的 1阶项,并作如下近似:
$$ \sin \theta \approx \theta \quad (\text{当 } \theta \text{ 足够小时}) $$这就把复杂的非线性微分方程转化为容易求解的线性微分方程,从而推导出单摆的等时性。
编程与数值计算
在计算机的标准库(如 math 模块)内部,也利用泰勒展开(或其改进版本,如切比雪夫近似)来计算函数。下面是用 Python 近似计算 $\sin x$ 的一个简单例子。
| |
收敛半径与泰勒定理
并不是所有的函数在每一个 $x$ 处都能被泰勒级数精确表示。无穷级数收敛到一个有限值的范围被称为收敛半径。例如, $\ln(1+x)$ 的麦克劳林展开只在 $-1 < x \le 1$ 的范围内有效。
此外,泰勒定理(余项的评估)是一个用于估计当截断在有限项(直到第 $n$ 阶)时,真实值和近似值之间会有多少误差的定理。这使得我们在数学上能保证“根据所需的精度,我们应该展开到哪一阶”。
结论
可以说,泰勒展开和麦克劳林展开是“数学翻译器”,用来将复杂世界翻译成一种容易处理的形式——多项式。从微分的概念出发,通过无限次相加完全恢复原函数的过程,象征着数学之美。从物理学中的近似到人工智能中的优化算法,它们的应用范围不可估量。请务必利用这一强大的工具,加深您对数学和编程的理解。
