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

反常积分

当积分区间无限或函数无界时

17.1

反常积分的类型

到目前为止,我们讨论的定积分都要求两个条件:积分区间有限被积函数在区间上有界。当这两个条件中至少一个不满足时,我们就进入了反常积分(Improper Integral)的领域。

反常积分分为两大类型:

第一类:积分区间无限

当积分的上限或下限(或两者同时)趋向无穷大时,就属于第一类反常积分。例如:

1 1/x² dx     (上限为 ∞)

−∞ e−x² dx     (上下限均为 ∞)

这类积分的"危险"在于:积分区间没有尽头,曲线下的面积是否有限完全取决于函数衰减的速度。如果函数衰减得足够快,面积可能是有限的(收敛);如果衰减得太慢,面积就会无限增长(发散)。

第二类:函数在积分区间内有瑕点

当被积函数在积分区间内的某一点(或某几点)趋向无穷大时,就属于第二类反常积分。这些使函数无界的点称为瑕点(singularity)。例如:

01 1/√x dx     (瑕点在 x = 0)

−11 1/x² dx     (瑕点在 x = 0)

这类积分的"危险"在于:函数在瑕点附近趋向无穷大,但曲线下的面积是否有限取决于函数趋向无穷大的速度。如果函数趋向无穷大的速度"可控",面积可能是有限的;否则就会发散。

第三种情况:两者兼有

有时一个积分可能同时具有无限区间和瑕点。例如 ∫0 1/(x√x) dx,在 x = 0 处有瑕点,同时上限为无穷。这种情况下需要将积分拆分为两部分分别判断。

反常积分的直觉

反常积分的核心问题是"无限"——无限大的区间或无限大的函数值。我们通过极限来"驯服"这些无限:用有限区间逼近无限区间,用有界函数逼近无界函数。如果逼近的极限存在,积分就收敛;否则就发散。这就像用越来越大的尺子去量海岸线的长度——如果长度趋于一个有限值,就收敛;如果长度无限增长,就发散。

17.2

收敛与发散

反常积分最基本的问题是:这个积分到底有没有意义?也就是说,积分的结果是一个有限的数,还是无穷大(或不存在)?前者称为收敛(convergent),后者称为发散(divergent)。

第一类反常积分的收敛定义

对于上限为无穷的积分,我们用极限来定义:

a f(x) dx = limb→∞ab f(x) dx

如果右边的极限存在且为有限值 L,就说积分收敛于 L;如果极限不存在或为无穷大,就说积分发散

类似地,对于下限为负无穷的积分:

−∞b f(x) dx = lima→−∞ab f(x) dx

对于上下限均为无穷的积分,需要在中间取一个截断点 c:

−∞ f(x) dx = ∫−∞c f(x) dx + ∫c f(x) dx

只有当两个积分都收敛时,整体才收敛。

第二类反常积分的收敛定义

对于瑕点在左端点 a 的情况:

ab f(x) dx = limc→a+cb f(x) dx

对于瑕点在右端点 b 的情况:

ab f(x) dx = limc→bac f(x) dx

对于瑕点在区间内部 c 处的情况,需要拆分为两个积分:

ab f(x) dx = ∫ac f(x) dx + ∫cb f(x) dx
重要警告
  • 对于上下限均为无穷的积分,不能直接写成 limb→∞−bb f(x) dx。必须拆分为两部分分别取极限。
  • 对于瑕点在区间内部的积分,必须拆分为两个积分分别判断。不能直接用对称性"抵消"无穷大。
  • 一个常见的错误是认为 ∫−11 1/x dx = 0(利用对称性),但实际上这个积分发散,因为两个部分各自发散。
收敛的直觉

想象你在用越来越大的尺子量曲线下的面积。对于第一类反常积分,你不断向右延伸尺子——如果新增的面积越来越小,总和趋于一个有限值,就收敛。对于第二类反常积分,你不断靠近瑕点——如果函数虽然趋向无穷但"不够猛",面积增量趋于零,就收敛。关键在于"增量"是否足够快地趋近于零。

17.3

收敛判别法

对于大多数反常积分,直接计算极限来判断收敛性并不总是可行的。我们需要一些更高效的判别法(tests)来判断积分是否收敛,而不必真正算出积分值。

p 判别法

p 判别法(p-test)是判断反常积分收敛性最基本、最常用的工具。它给出了两类标准积分的收敛条件:

第一类(无穷区间):
1 1/xp dx    收敛 ⇔ p > 1

第二类(瑕点在 0):
01 1/xp dx    收敛 ⇔ p < 1

注意两个条件的方向恰好相反

类型积分收敛条件发散条件
第一类1 1/xp dxp > 1p ≤ 1
第二类01 1/xp dxp < 1p ≥ 1
p 判别法的直觉

对于第一类:当 p > 1 时,1/xp 衰减得足够快,使得无穷远处的面积增量趋近于零的速度足够快,总和有限。当 p = 1 时,1/x 的衰减速度"刚好不够"——每增加一段等长的区间,面积增量按调和级数增长,总和趋向无穷。

对于第二类:当 p < 1 时,1/xp 在 x = 0 附近趋向无穷的速度"可控"——虽然函数值很大,但区间宽度趋近于零的速度更快。当 p ≥ 1 时,函数趋向无穷的速度超过了区间缩小的速度。

比较判别法

比较判别法(Comparison Test)利用已知收敛或发散的积分来判断未知积分:

若 0 ≤ f(x) ≤ g(x) 对所有 x ≥ a 成立,则:

∫g(x) dx 收敛 ⇒ ∫f(x) dx 收敛
∫f(x) dx 发散 ⇒ ∫g(x) dx 发散

直觉:如果"大"的函数 g 的积分都收敛了,那"小"的函数 f 的积分一定也收敛;如果"小"的函数 f 的积分都发散了,那"大"的函数 g 的积分一定也发散。

极限比较判别法

当直接比较不方便时,极限比较判别法(Limit Comparison Test)更加灵活:

若 f(x) > 0, g(x) > 0,且 limx→∞ f(x)/g(x) = L,其中 0 < L < ∞,则:

∫f(x) dx 与 ∫g(x) dx 同时收敛或同时发散

直觉:如果 f 和 g 在无穷远处"差不多大"(比值趋于一个正的有限数),那么它们的积分行为也相同。

绝对收敛与条件收敛

对于被积函数可能取负值的反常积分,需要区分两种收敛:

类型定义含义
绝对收敛∫|f(x)| dx 收敛积分"真正收敛",不受正负波动影响
条件收敛∫f(x) dx 收敛,但 ∫|f(x)| dx 发散积分收敛仅因为正负部分相互"抵消"
绝对收敛蕴含收敛

如果 ∫|f(x)| dx 收敛,则 ∫f(x) dx 一定收敛。但反过来不成立——条件收敛的例子是 ∫1 sin(x)/x dx,它收敛但不是绝对收敛的。

判别法的选择策略

面对一个反常积分,判断收敛性的策略通常是:首先看能否直接计算极限;如果不行,尝试 p 判别法(看函数在无穷远处或瑕点附近是否类似于 1/xp);如果 p 判别法不方便,用极限比较判别法找一个已知行为的参照函数;最后,注意区分绝对收敛和条件收敛。

17.4

常见函数在无穷远处的行为

掌握常见函数在无穷远处的行为,是快速判断反常积分收敛性的关键。以下是最重要的几类函数:

函数无穷远处行为a f(x) dx说明
e−x 快速衰减至 0 收敛(= e−a 指数衰减比任何幂函数都快
1/xp(p > 1) 缓慢衰减至 0 收敛(= 1/((p−1)ap−1)) p 判别法,临界值 p = 1
1/xp(p ≤ 1) 衰减不够快 发散 p = 1 时为调和函数
sin(x)/x 振荡衰减至 0 条件收敛(= π/2) 收敛但 |sin(x)/x| 的积分发散
e−x² 极快速衰减至 0 收敛(= √π/2) 高斯函数,与正态分布相关
ln(x)/xp 比 1/xp 稍慢衰减 p > 1 时收敛 对数因子不影响 p 判别法的结论
衰减速度的层次

从快到慢排列:e−x² > e−x > 1/xp(p > 1)> 1/x > ln(x)/x > 常数。记住这个层次,就能快速判断积分的收敛性。任何衰减速度不慢于已知收敛函数的函数,其积分也收敛;任何衰减速度不快于已知发散函数的函数,其积分也发散。

为什么 e−x 比任何幂函数都快?

一个关键事实是:对任意正整数 n,limx→∞ xn/ex = 0。这意味着无论幂函数的指数多大,指数函数 ex 最终都会超过它。因此 e−x 的衰减速度比任何 1/xp 都快,∫e−x dx 一定收敛。这个事实可以通过洛必达法则反复应用 n 次来证明。

工程应用:反常积分的实际意义

1. 无限长直导线的电场强度:计算无限长带电直导线在空间中某点产生的电势时,需要对从导线到无穷远的距离进行积分。若电荷密度衰减足够快(如按 1/r2),积分收敛,电势有限;若衰减太慢(如 1/r),则积分发散,意味着需要引入截断或边界条件。

2. 概率论中的期望值:连续型随机变量的期望值 E[X] = ∫−∞ x·f(x)dx 就是一个反常积分。例如柯西分布 f(x)=1/(π(1+x²)),虽然概率密度积分收敛为1,但期望值积分发散,说明该分布没有有限均值。

3. 信号的总能量:在信号处理中,信号 f(t) 的总能量定义为 E = ∫−∞ |f(t)|² dt。只有当这个反常积分收敛时,我们才称该信号为"能量信号"(如衰减的指数脉冲)。若积分发散,则可能是"功率信号"(如正弦波),需要用平均功率来描述。

4. 建筑结构的风荷载:极端风荷载的概率分析中,尾部分布的积分(超越概率)决定了百年一遇的最大风速。尾部分布衰减速度(如指数衰减 vs 幂律衰减)直接影响结构安全系数的计算方式。

EX

例题精讲

例1:判断 ∫1 1/x² dx 的收敛性并求值

判断1 1/x² dx 是否收敛,若收敛则求其值。

第一步:用极限定义

1 1/x² dx = limb→∞1b 1/x² dx

第二步:计算有限积分

1b 1/x² dx = [−1/x]1b = −1/b − (−1/1) = 1 − 1/b

第三步:取极限

limb→∞ (1 − 1/b) = 1 − 0 = 1

验证(p 判别法)

这里 p = 2 > 1,根据 p 判别法,积分收敛。计算结果与 p 判别法的预测一致。

1 1/x² dx = 1   (收敛)
例2:判断 ∫1 1/x dx 的收敛性

判断1 1/x dx 是否收敛。

第一步:用极限定义

1 1/x dx = limb→∞1b 1/x dx

第二步:计算有限积分

1b 1/x dx = [ln|x|]1b = ln(b) − ln(1) = ln(b)

第三步:取极限

limb→∞ ln(b) = ∞

极限不存在(趋向无穷大),因此积分发散。

验证(p 判别法)

这里 p = 1,根据 p 判别法,∫1 1/xp dx 在 p ≤ 1 时发散。p = 1 恰好是临界值——1/x 衰减得"刚好不够快"。

1 1/x dx = ∞   (发散)
例3:判断 ∫01 ln(x) dx 的收敛性并求值

判断01 ln(x) dx 是否收敛,若收敛则求其值。

第一步:识别瑕点

ln(x) 在 x = 0 处趋向 −∞,因此 x = 0 是瑕点。这是第二类反常积分。

第二步:用极限定义

01 ln(x) dx = limc→0+c1 ln(x) dx

第三步:计算有限积分(分部积分)

令 u = ln(x),dv = dx,则 du = 1/x dx,v = x:

∫ ln(x) dx = x · ln(x) − ∫ x · (1/x) dx = x ln(x) − x + C

第四步:代入积分限

c1 ln(x) dx = [x ln(x) − x]c1
= (1 · 0 − 1) − (c · ln(c) − c)
= −1 − c ln(c) + c

第五步:取极限

需要计算 limc→0+ c ln(c)。利用洛必达法则或等价无穷小:

limc→0+ c ln(c) = limc→0+ ln(c)/(1/c) = limc→0+ (1/c)/(−1/c²) = limc→0+ (−c) = 0

因此:

limc→0+ (−1 − c ln(c) + c) = −1 − 0 + 0 = −1
01 ln(x) dx = −1   (收敛)
例4:用 p 判别法判断 ∫2 1/(x · ln²(x)) dx 的收敛性

判断2 1/(x · ln²(x)) dx 是否收敛。

第一步:识别积分类型

这是第一类反常积分(上限为无穷),被积函数 1/(x · ln²(x)) 在 [2, ∞) 上连续且为正。

第二步:换元化为标准形式

令 u = ln(x),则 du = 1/x dx。当 x = 2 时,u = ln(2);当 x → ∞ 时,u → ∞。

2 1/(x · ln²(x)) dx = ∫ln(2) 1/u² du

第三步:应用 p 判别法

现在积分变为 ∫ln(2) 1/u2 du,其中 p = 2 > 1。

根据 p 判别法,∫a 1/up du 在 p > 1 时收敛。

第四步:计算积分值

ln(2) 1/u² du = [−1/u]ln(2) = 0 − (−1/ln(2)) = 1/ln(2)

推广

更一般地,∫2&infty; 1/(x · lnp(x)) dx 通过同样的换元 u = ln(x) 化为 ∫ln(2) 1/up du,因此收敛当且仅当 p > 1。这是 p 判别法的一个经典应用。

2 1/(x · ln²(x)) dx = 1/ln(2)   (收敛)
ML

MATLAB 可视化代码

以下 MATLAB 代码帮助你可视化反常积分的截断近似、收敛与发散的对比,以及 p 判别法的参数扫描。

improper_truncated.m — 反常积分可视化(截断积分)
% 反常积分可视化:截断积分逼近 % 示例:int_1^inf 1/x^2 dx = 1 x = linspace(1, 20, 500); f = 1./x.^2; figure('Position', [100 100 900 550]); % 绘制被积函数 plot(x, f, 'LineWidth', 2.5, 'Color', [0.18 0.49 0.43]); hold on; % 不同截断值的填充区域 trunc_vals = [2, 5, 10]; colors = [0.77 0.36 0.24; 0.85 0.55 0.35; 0.90 0.70 0.50]; for i = 1:length(trunc_vals) b = trunc_vals(i); x_fill = linspace(1, b, 200); f_fill = 1./x_fill.^2; area_val = 1 - 1/b; area(x_fill, f_fill, 'FaceColor', colors(i,:), ... 'FaceAlpha', 0.4, 'EdgeColor', 'none'); text(b, 1/b^2 + 0.03, ... sprintf('b=%d, S=%.3f', b, area_val), ... 'FontSize', 10, 'Color', colors(i,:)); end xlabel('x'); ylabel('f(x) = 1/x^2'); title('截断积分逼近:\int_1^{\infty} 1/x^2 dx = 1'); grid on; ylim([0, 1.1]); saveas(gcf, 'ch17_improper_truncated.png');
convergence_comparison.m — 收敛/发散对比
% 收敛与发散对比:1/x^2 vs 1/x x = linspace(1, 20, 500); f_conv = 1./x.^2; % 收敛 f_div = 1./x; % 发散 figure('Position', [100 100 1200 500]); % 左图:1/x^2 收敛 subplot(1,2,1); plot(x, f_conv, 'LineWidth', 2.5, 'Color', [0.18 0.49 0.43]); hold on; area(x, f_conv, 'FaceColor', [0.18 0.49 0.43], ... 'FaceAlpha', 0.3, 'EdgeColor', 'none'); xlabel('x'); ylabel('1/x^2'); title('收敛:\int_1^{\infty} 1/x^2 dx = 1'); grid on; ylim([0, 1.1]); % 右图:1/x 发散 subplot(1,2,2); plot(x, f_div, 'LineWidth', 2.5, 'Color', [0.77 0.36 0.24]); hold on; area(x, f_div, 'FaceColor', [0.77 0.36 0.24], ... 'FaceAlpha', 0.3, 'EdgeColor', 'none'); xlabel('x'); ylabel('1/x'); title('发散:\int_1^{\infty} 1/x dx = \infty'); grid on; ylim([0, 1.1]); saveas(gcf, 'ch17_convergence_comparison.png');
p_test_scan.m — p 判别法的参数扫描
% p 判别法参数扫描 % 扫描不同 p 值下 int_1^inf 1/x^p dx 的截断积分值 p_values = [0.5, 0.8, 1.0, 1.2, 1.5, 2.0, 3.0]; b_values = linspace(2, 1000, 200); colors = lines(length(p_values)); figure('Position', [100 100 1000 600]); for i = 1:length(p_values) p = p_values(i); S = zeros(size(b_values)); for j = 1:length(b_values) b = b_values(j); if p == 1 S(j) = log(b); else S(j) = (b^(1-p) - 1) / (1-p); end end plot(b_values, S, 'LineWidth', 2, 'Color', colors(i,:), ... 'DisplayName', sprintf('p = %.1f', p)); hold on; end xlabel('截断上限 b'); ylabel('\int_1^b 1/x^p dx'); title('p 判别法:不同 p 值下截断积分随 b 的变化'); legend('Location', 'northwest'); grid on; % 标注 p=1 的分界线 xline(1, '--', 'Color', [0.5 0.5 0.5]); saveas(gcf, 'ch17_p_test_scan.png');
CH

交互式图表

图 17-1:收敛 vs 发散 — 1/x² 和 1/x 在 [1,∞) 上的行为对比