普林斯顿微积分读本 · 第十八章

无穷级数与泰勒展开

用无限多个简单项表示复杂函数

18.1

无穷级数的基本概念

无穷级数(Infinite Series)是将无穷多个数按照一定规律相加的表达式。它是微积分中最重要的工具之一,使我们能够用简单的多项式来逼近复杂的函数。

部分和

给定一个数列 {an},其无穷级数记为:

Σn=1 an = a1 + a2 + a3 + ···

前 n 项的和称为第 n 个部分和(partial sum):

Sn = a1 + a2 + ··· + an = Σk=1n ak

收敛与发散

无穷级数的和定义为部分和序列的极限:

Σn=1 an = lim(n→∞) Sn
情形条件含义
级数收敛lim(n→∞) Sn 存在(有限值)无穷多项的"总和"有意义,等于该极限值
级数发散lim(n→∞) Sn 不存在(趋于∞、-∞或振荡)无穷多项的"总和"无意义

第 n 项检验(发散判别法)

若 lim(n→∞) an ≠ 0,则 Σ an 发散
第 n 项检验的注意事项
  • 这是发散判别法,不是收敛判别法:lim(n→∞) an = 0 并不保证级数收敛
  • 经典反例:调和级数 Σ1/n,虽然 1/n → 0,但级数发散
  • 此检验只能用来判定发散,不能用来判定收敛
无穷级数的直觉

无穷级数的核心思想是"无限分割、无限累加"。就像用无穷多个越来越小的矩形面积来逼近曲线下的面积(定积分),无穷级数则是用无穷多个越来越小的项来逼近一个有限的值。关键在于:这些项必须"足够快地"趋于零,才能使总和收敛到一个有限值。

18.2

几何级数

几何级数(Geometric Series)是最基本、最重要的无穷级数之一。它的每一项与前一项的比值是一个常数 r(称为公比)。

几何级数的求和公式

Σn=0 rn = 1 + r + r² + r³ + ··· = 1/(1-r),当 |r| < 1

当 |r| ≥ 1 时,几何级数发散。

推导过程

设 S = 1 + r + r² + r³ + ···,则:

rS = r + r² + r³ + ···

S - rS = 1

S(1 - r) = 1

S = 1/(1-r)

应用

领域应用说明
循环小数0.333... = 3/10 + 3/100 + ··· = 3/9 = 1/3将循环小数表示为几何级数求和
概率论几何分布的期望值计算首次成功所需的试验次数
经济学永续年金的现值每年支付 C 的永续年金现值 = C/r
物理学多次反射的光强衰减每次反射保留 r 倍的光强
图 18-1:几何级数部分和收敛到 1/(1-r)
几何级数的收敛速度

当 |r| 越接近 0,部分和收敛到极限值 1/(1-r) 的速度越快;当 |r| 越接近 1,收敛速度越慢。例如 r = 0.9 时,需要约 44 项才能使误差小于 0.01,而 r = 0.3 时只需约 4 项。

18.3

收敛判别法

判断一个无穷级数是否收敛是分析中的核心问题。以下是几种最常用的收敛判别法。

比值判别法(D'Alembert 判别法)

对于级数 Σan,计算:

L = lim(n→∞) |an+1 / an|
L 的值结论
L < 1级数绝对收敛
L > 1级数发散
L = 1不确定,需要其他判别法
比值判别法的适用场景

比值判别法特别适用于通项中含有阶乘 n! 或指数 rn 的级数,因为相邻两项的比值往往能大幅简化。例如 Σn!/nn,比值中阶乘和幂次会大量约去。

根值判别法(Cauchy 判别法)

L = lim(n→∞) n√|an|

判断规则与比值判别法完全相同:L < 1 收敛,L > 1 发散,L = 1 不确定。根值判别法在通项含有 n 次幂时特别有效。

积分判别法

如果 an = f(n),其中 f(x) 是连续、正、递减函数,则:

1 f(x) dx 与 Σn=1 f(n) 同收敛、同发散

积分判别法的直觉是:级数的求和本质上是积分的"离散版本",积分的收敛性与级数的收敛性一致。

p 级数

Σn=1 1/np = 1 + 1/2p + 1/3p + ···
p 的值结论经典例子
p > 1收敛Σ1/n² = π²/6(巴塞尔问题)
p ≤ 1发散Σ1/n(调和级数,发散)
判别法选择指南
  • 通项含阶乘 n! → 优先用比值判别法
  • 通项含 n 次幂 → 优先用根值判别法
  • 通项形如 1/np → 直接用 p 级数判别
  • 通项为正且递减 → 可尝试积分判别法
  • 通项为交错形式 → 考虑交错级数判别法(Leibniz 判别法)
收敛与发散的直觉

级数是否收敛,取决于"项趋于零的速度"是否足够快。调和级数 1/n 的项趋于零,但"不够快"——就像一个人每天走剩余路程的一半,永远到不了终点。而 1/n² 的项趋于零的速度"足够快",总和是有限的。比值判别法和根值判别法本质上就是在量化这种"趋于零的速度"。

18.4

泰勒级数

泰勒级数(Taylor Series)是微积分中最优美的结果之一:它告诉我们,任何(足够光滑的)函数都可以表示为无穷多项式的和。这意味着我们可以用简单的多项式运算来近似计算复杂的超越函数。

泰勒公式

函数 f(x) 在点 x = a 处的泰勒级数为:

f(x) = Σn=0 f(n)(a)/n! · (x - a)n

= f(a) + f'(a)(x-a) + f''(a)(x-a)²/2! + f'''(a)(x-a)³/3! + ···

其中 f(n)(a) 表示 f 在 a 点的 n 阶导数,n! = n × (n-1) × ··· × 2 × 1 是 n 的阶乘。

麦克劳林级数(a = 0)

当展开点 a = 0 时,泰勒级数称为麦克劳林级数(Maclaurin Series)。以下是几个最重要的麦克劳林级数:

函数麦克劳林级数收敛域
ex 1 + x + x²/2! + x³/3! + x4/4! + ··· 一切实数 x
sin(x) x - x³/3! + x5/5! - x7/7! + ··· 一切实数 x
cos(x) 1 - x²/2! + x4/4! - x6/6! + ··· 一切实数 x
ln(1+x) x - x²/2 + x³/3 - x4/4 + ··· |x| < 1
1/(1-x) 1 + x + x² + x³ + ··· |x| < 1

收敛半径

泰勒级数并非对所有 x 都收敛。它有一个收敛半径 R:

当 |x - a| < R 时,级数收敛到 f(x)
当 |x - a| > R 时,级数发散
当 |x - a| = R 时,需要单独判断

收敛半径的求法将在 18.5 节详细讨论。

用泰勒级数做近似计算

泰勒级数的实际威力在于:截取前 N 项(泰勒多项式),就能得到 f(x) 的高精度近似值。截取得越多,近似越精确。

f(x) ≈ Σn=0N f(n)(a)/n! · (x - a)n

截断误差(余项)为:

RN(x) = f(N+1)(c)/(N+1)! · (x - a)N+1,其中 c 在 a 与 x 之间
图 18-2:泰勒多项式逐步逼近 sin(x)(1项、2项、3项、5项对比)
泰勒级数的深刻意义

泰勒级数告诉我们:看似复杂的超越函数(如 ex、sin(x)、cos(x))本质上只是"无穷多项式"。这就是为什么科学计算器能够计算 sin(0.1) 的值——它并不是真的"测量"角度,而是用泰勒多项式进行数值计算。泰勒级数是连接"代数世界"和"分析世界"的桥梁。

18.5

幂级数

幂级数(Power Series)是泰勒级数的推广形式,它不要求系数必须是某个函数的导数值,而允许任意系数 cn

幂级数的一般形式

Σn=0 cn(x - a)n = c0 + c1(x-a) + c2(x-a)² + ···

其中 a 是展开中心,cn 是系数。泰勒级数是幂级数的特例,其中 cn = f(n)(a)/n!。

收敛半径的求法

使用比值判别法可以求收敛半径 R:

R = lim(n→∞) |cn / cn+1|

如果这个极限存在,则幂级数在 |x - a| < R 时收敛,在 |x - a| > R 时发散。

收敛半径的三种情况
  • R = 0:级数仅在 x = a 处收敛
  • 0 < R < ∞:级数在 (a-R, a+R) 内收敛,端点需单独判断
  • R = ∞:级数对所有 x 都收敛(如 ex 的麦克劳林级数)

逐项求导和逐项积分

幂级数在收敛区间内可以逐项求导和逐项积分:

若 f(x) = Σ cn(x-a)n,则:

f'(x) = Σ n·cn(x-a)n-1(逐项求导)

∫f(x)dx = Σ cn(x-a)n+1/(n+1) + C(逐项积分)

逐项求导和逐项积分不改变收敛半径(但端点的收敛性可能改变)。

幂级数的强大之处

幂级数的逐项求导和逐项积分为我们提供了一种"绕过"直接计算的方法。例如,我们知道 1/(1-x) = 1 + x + x² + ···,对其逐项积分就得到 ln(1-x) 的级数展开,逐项求导就得到 1/(1-x)² 的级数展开。这种"已知推未知"的能力是幂级数最重要的应用之一。

工程应用:级数与泰勒展开的实际意义

1. 离散傅里叶变换(DFT/FFT):信号处理的核心算法 FFT 本质上是将信号分解为复指数级数(傅里叶级数的离散形式)。JPEG 图像压缩、MP3 音频编码、5G 通信的 OFDM 调制都依赖这一思想——将复杂信号表示为简单正弦波的叠加。

2. 数值计算与函数逼近:计算器中的 sin(x)、eˣ、ln(x) 并非存储完整函数表,而是用泰勒级数或切比雪夫多项式逼近。例如 eˣ ≈ 1 + x + x²/2! + x³/3! + ···,取前 10 项即可在 [−1,1] 达到机器精度(10⁻¹⁶)。

3. 金融数学中的年金计算:永续年金现值 PV = C/r 是等比级数求和;增长型年金 PV = C/(r−g) 也是级数结果。这些公式直接来自 Σ(1+g)ⁿ/(1+r)ⁿ 的收敛性分析,决定了投资决策中"何时项目值得投资"的临界点。

4. 误差分析与算法收敛:在数值分析中,迭代算法的误差常表示为级数。例如牛顿迭代法的误差 eₙ₊₁ ≈ Ceₙ²,通过级数展开可以证明其二次收敛速度。有限元方法的解也常用泰勒展开估计截断误差,指导网格加密策略。

5. 微分方程的级数解法:许多物理方程(如量子力学的薛定谔方程、天体力学的摄动方程)没有初等解,但假设解为幂级数 Σaₙxⁿ 代入后,可递推求出系数。氢原子能级的量子化条件就是这样从级数收敛性中自然涌现的。

EX

例题精讲

例1:判断 Σ 1/n² 的收敛性

判断级数 Σn=1 1/n² = 1 + 1/4 + 1/9 + 1/16 + ··· 是否收敛。

第一步:识别级数类型

这是一个 p 级数 Σ1/np,其中 p = 2。

第二步:应用 p 级数判别法

根据 p 级数判别法:当 p > 1 时,Σ1/np 收敛。

p = 2 > 1 ⇒ Σ 1/n² 收敛

第三步:验证第 n 项检验

lim(n→∞) 1/n² = 0

第 n 项趋于零,满足收敛的必要条件(但不充分)。

补充:精确值

欧拉在 1734 年证明了这一级数的精确值(巴塞尔问题):

Σn=1 1/n² = π²/6 ≈ 1.6449
Σn=1 1/n² 收敛(p 级数,p = 2 > 1),其值为 π²/6
例2:判断 Σ n!/nn 的收敛性

判断级数 Σn=1 n!/nn 是否收敛。

第一步:选择判别法

通项含有阶乘 n!,优先使用比值判别法

第二步:计算比值

an = n!/nn

an+1/an = [(n+1)!/(n+1)n+1] / [n!/nn]

= (n+1)! · nn / [n! · (n+1)n+1]

= (n+1) · nn / (n+1)n+1

= nn / (n+1)n

= [n/(n+1)]n = [1 - 1/(n+1)]n

第三步:取极限

lim(n→∞) [1 - 1/(n+1)]n = lim(n→∞) [1 - 1/(n+1)]-(n+1) · (-n/(n+1))

令 m = n+1,则:

= lim(m→∞) [1 - 1/m]-m · (-(m-1)/m)
= [lim(m→∞) (1 - 1/m)-m]-(m-1)/m

利用 lim(1 - 1/m)-m = e,以及指数 -(m-1)/m → -1:

L = e-1 = 1/e ≈ 0.368

第四步:得出结论

L = 1/e < 1 ⇒ 级数收敛
Σn=1 n!/nn 收敛(比值判别法,L = 1/e < 1)
例3:求 ex 的麦克劳林级数

函数 f(x) = ex 的麦克劳林级数展开。

第一步:计算各阶导数

f(x) = ex ⇒ f(0) = 1
f'(x) = ex ⇒ f'(0) = 1
f''(x) = ex ⇒ f''(0) = 1
f'''(x) = ex ⇒ f'''(0) = 1
···
f(n)(x) = ex ⇒ f(n)(0) = 1

第二步:代入泰勒公式

ex = Σn=0 f(n)(0)/n! · xn

= Σn=0 1/n! · xn

= 1 + x + x²/2! + x³/3! + x4/4! + ···

第三步:确定收敛半径

cn = 1/n!
R = lim(n→∞) |cn/cn+1| = lim(n→∞) (n+1)!/n! = lim(n→∞) (n+1) = ∞

收敛半径 R = ∞,级数对所有实数 x 都收敛。

ex = Σn=0 xn/n! = 1 + x + x²/2! + x³/3! + ···(收敛域:一切实数)
例4:用泰勒级数估计 sin(0.1) 的值

用泰勒级数估计 sin(0.1),精确到小数点后 6 位。

第一步:写出 sin(x) 的麦克劳林级数

sin(x) = x - x³/3! + x5/5! - x7/7! + ···

第二步:代入 x = 0.1,逐项计算

第1项:0.1 = 0.100000
第2项:-(0.1)³/3! = -0.001/6 = -0.000167
第3项:+(0.1)5/5! = 0.00001/120 = +0.000000083
第4项:-(0.1)7/7! = -0.0000001/5040 ≈ -0.00000000002

第三步:累加并判断精度

sin(0.1) ≈ 0.1 - 0.000167 + 0.000000083
≈ 0.099833083

第4项的量级约为 2 × 10-11,远小于 10-6,因此前 3 项已足够精确。

第四步:用余项公式验证

取 N = 2(即前 3 项),余项:

|R2| ≤ |x|7/7! = (0.1)7/5040 ≈ 2 × 10-11 << 10-6

精度远超要求。

sin(0.1) ≈ 0.099833(精确到小数点后 6 位,仅需泰勒级数前 3 项)
例5:求 Σ xn/n! 的收敛半径

幂级数 Σn=0 xn/n! 的收敛半径。

第一步:识别系数

cn = 1/n!

第二步:用公式求收敛半径

R = lim(n→∞) |cn/cn+1|

= lim(n→∞) (1/n!) / (1/(n+1)!)

= lim(n→∞) (n+1)!/n!

= lim(n→∞) (n+1)

= ∞

第三步:用比值判别法验证

|an+1/an| = |xn+1/(n+1)!| / |xn/n!|

= |x|/(n+1)

lim(n→∞) |x|/(n+1) = 0 < 1(对一切 x)

比值极限为 0(小于 1),无论 x 取何值,级数都收敛。

补充:识别函数

这个级数正是 ex 的麦克劳林级数:

Σn=0 xn/n! = ex
Σn=0 xn/n! 的收敛半径 R = ∞(对所有实数 x 收敛),该级数等于 ex
ML

MATLAB 可视化代码

以下 MATLAB 代码帮助你可视化几何级数部分和收敛、泰勒多项式逼近以及收敛半径。

geometric_partial_sum.m — 几何级数部分和收敛
% 几何级数部分和收敛可视化 % S_n = sum_{k=0}^{n} r^k, 极限 = 1/(1-r) r_values = [0.3, 0.5, 0.7, 0.9]; colors = {[0.77 0.36 0.24], [0.18 0.49 0.43], [0.90 0.64 0.24], [0.39 0.40 0.95]}; n_max = 30; n = 0:n_max; figure('Position', [100 100 900 550]); hold on; for i = 1:length(r_values) r = r_values(i); S = (1 - r.^(n+1)) / (1 - r); % 部分和公式 limit_val = 1 / (1 - r); % 极限值 plot(n, S, '-o', 'Color', colors{i}, ... 'LineWidth', 2, 'MarkerSize', 4, ... 'DisplayName', ['r = ', num2str(r)]); % 画极限值虚线 plot([0 n_max], [limit_val limit_val], '--', ... 'Color', colors{i}, 'LineWidth', 1.5, ... 'DisplayName', ['1/(1-', num2str(r), ') = ', num2str(limit_val, 4)]); end xlabel('n'); ylabel('S_n'); title('几何级数部分和收敛到 1/(1-r)'); legend('Location', 'northwest'); grid on; ylim([0 12]); saveas(gcf, 'ch18_geometric_partial_sum.png');
taylor_sin_approx.m — 泰勒多项式逐步逼近 sin(x)
% 泰勒多项式逐步逼近 sin(x) % sin(x) = x - x^3/3! + x^5/5! - x^7/7! + ... x = linspace(-8, 8, 1000); y_exact = sin(x); terms_list = [1, 2, 3, 5]; colors = {[0.77 0.36 0.24], [0.18 0.49 0.43], ... [0.90 0.64 0.24], [0.39 0.40 0.95]}; figure('Position', [100 100 900 550]); hold on; % 画精确曲线 plot(x, y_exact, 'k-', 'LineWidth', 2.5, ... 'DisplayName', 'sin(x) 真实曲线'); for i = 1:length(terms_list) N = terms_list(i); y_approx = zeros(size(x)); for k = 0:N-1 sign = (-1)^k; power = 2*k + 1; factorial_val = factorial(power); y_approx = y_approx + sign * x.^power / factorial_val; end plot(x, y_approx, '-', 'Color', colors{i}, ... 'LineWidth', 2, ... 'DisplayName', ['前', num2str(N), '项']); end xlabel('x'); ylabel('y'); title('泰勒多项式逐步逼近 sin(x)'); legend('Location', 'southwest'); grid on; ylim([-4 4]); saveas(gcf, 'ch18_taylor_sin_approx.png');
convergence_radius.m — 收敛半径可视化
% 收敛半径可视化 % 展示不同幂级数的收敛区间 % 例1: Sigma x^n / n! (收敛半径 = inf) % 例2: Sigma x^n (收敛半径 = 1) % 例3: Sigma x^n / n^2 (收敛半径 = 1) x = linspace(-3, 3, 1000); % Sigma x^n / n! y1 = zeros(size(x)); for n = 0:30 y1 = y1 + x.^n / factorial(n); end % Sigma x^n (几何级数, 仅 |x|<1 收敛) y2 = zeros(size(x)); for n = 0:100 y2 = y2 + x.^n; end % Sigma x^n / n^2 y3 = zeros(size(x)); for n = 1:1000 y3 = y3 + x.^n / n^2; end figure('Position', [100 100 1200 500]); subplot(1,3,1); plot(x, y1, 'LineWidth', 2, 'Color', [0.77 0.36 0.24]); hold on; plot(x, exp(x), 'k--', 'LineWidth', 1.5); xlabel('x'); ylabel('y'); title('\Sigma x^n/n! = e^x, R=\infty'); legend('级数和', 'e^x'); grid on; ylim([-5 25]); subplot(1,3,2); plot(x, y2, 'LineWidth', 2, 'Color', [0.18 0.49 0.43]); hold on; xline(1, '--r', 'LineWidth', 1.5); xline(-1, '--r', 'LineWidth', 1.5); xlabel('x'); ylabel('y'); title('\Sigma x^n, R=1'); grid on; ylim([-10 10]); subplot(1,3,3); plot(x, y3, 'LineWidth', 2, 'Color', [0.39 0.40 0.95]); hold on; xline(1, '--r', 'LineWidth', 1.5); xline(-1, '--r', 'LineWidth', 1.5); xlabel('x'); ylabel('y'); title('\Sigma x^n/n^2, R=1'); grid on; ylim([-10 10]); saveas(gcf, 'ch18_convergence_radius.png');
CH

交互式图表

图 18-1:几何级数部分和收敛到 1/(1-r)
图 18-2:泰勒多项式逐步逼近 sin(x)(1项、2项、3项、5项对比)