瑕积分收敛判别全解析:p积分、换元与数值验证
初学反常积分那阵子,最让我别扭的就是瑕积分。定积分要求被积函数在闭区间上有界,这是从矩形逼近那套逻辑里长出来的硬条件——函数值飙到无穷,上和下和就没法夹了。可偏偏 $\int_0^1 \frac{1}{\sqrt{x}},\mathrm{d}x$ 能算出一个干干净净的 $2$,被积函数在 $0$ 右邻域明明是无界的。后来把定义逐字拆开才明白:瑕积分不是把"有界"这个前提废掉,而是换了个策略——先绕开无界的那一小段,在剩下的部分老老实实做正常积分,再让切口逼近那个无界点,看极限撑不撑得住。撑得住就叫收敛,这个极限值就叫瑕积分;撑不住就是发散。整套反常积分理论,不管是无穷限那一支还是无界函数这一支,骨架都是"截断——积分——取极限",只不过一个截的是积分区间的右端,一个截的是瑕点附近的小邻域。
这篇东西写给两类人:一类是正在啃数学分析、被 $\varepsilon$-$\delta$ 和分段讨论绕晕的同学;另一类是早就学过、但一遇到端点奇性就习惯性套牛顿-莱布尼茨公式、算出负面积还没察觉的过来人。我会从定义里的每个条件为什么要那么写开始,把 $p$ 积分这个基准模型彻底算穿,再把判别法、换元互化、数值验证和几个经典的翻车现场一次讲完。全程给的是可以照着推、照着敲的步骤,不是概念复述。
1. 把"瑕"这个字先掰开:定义里每个条件都在防什么
1.1 一条竖直渐近线围出来的面积,凭什么可以是有限的
先建立几何直觉。考虑曲线 $y = 1/\sqrt{x}$ 在 $(0,1]$ 上的部分。$x \to 0^+$ 时函数值冲向正无穷,曲线贴着 $y$ 轴往上跑,看上去像是围出了一块"开口朝天"的无限高的区域。直觉会说面积无穷大,但算一下:从 $u$ 积到 $1$,
$$\int_u^1 x^{-1/2},\mathrm{d}x = 2 - 2\sqrt{u}$$
$u \to 0^+$ 时这个值趋于 $2$。也就是说,随着切口往下挪,被切掉的那部分面积 $2\sqrt{u}$ 越来越小,剩下部分的面积稳定地逼近 $2$。
这里的关键在于"无界"和"面积无限"根本不是一回事。函数值趋于无穷,但它趋于无穷的"速度"决定了面积是否累积得起来。$1/\sqrt{x}$ 在靠近 $0$ 的地方虽然很大,可它大的区域极窄——$x < 10^{-8}$ 时函数值才超过 $10^4$,而这段区间的宽度只有 $10^{-8}$,贡献的面积量级是 $2 \times 10^{-4}$。宽度收缩的阶比高度增长的阶快,乘积就收敛。
反过来看 $1/x$:从 $u$ 积到 $1$ 得到 $-\ln u$,$u \to 0^+$ 时趋于 $+\infty$。高度和宽度的阶刚好抵消,每一段对数尺度的区间贡献差不多大小的面积,累加起来就散了。而 $1/x^2$ 更夸张,$\int_u^1 x^{-2},\mathrm{d}x = 1/u - 1 \to \infty$,越靠近 $0$ 贡献越大,发散得更快。
所以"瑕"这个字用得挺准确:指的就是函数在某个点附近"有瑕疵"、失去有界性,但这个瑕疵是否"致命",要看积分极限。$a$ 这个点本身叫瑕点,它可以是区间的左端点、右端点,也可以是内部某点。教材上给的标准形式是区间 $(a,b]$、瑕点在左端点 $a$,其余情形靠对称或者拆分转化过去。
1.2 三个条件逐个拆:为什么必须限定"任何内闭区间"
定义是这么写的:设 $f$ 在 $(a,b]$ 上有定义,在 $a$ 的右邻域内无界,但在任何内闭区间 $[u,b] \subset (a,b]$ 上有界且可积。若极限
$$\lim_{u \to a^+} \int_u^b f(x),\mathrm{d}x = J$$
存在($J$ 为有限实数),则称 $f$ 在 $(a,b]$ 上的瑕积分收敛,记
$$\int_a^b f(x),\mathrm{d}x = J$$
否则称发散。
这三句话各自承担一个职责,少一句都不行。
第一句"在 $(a,b]$ 上有定义"是为了让积分有意义。如果函数在区间内部某些点压根没定义,那些点也得当瑕点处理,就不能套这个单瑕点的定义了。比如 $\int_0^1 \frac{1}{\sqrt{x(1-x)}},\mathrm{d}x$,两端都是瑕点,形式上不属于这个定义覆盖的范围,得先拆成两段。
第二句"在 $a$ 的右邻域无界"是把这个点和普通点区分开。这个条件其实有点"标签"性质——它只是告诉我们 $a$ 确实是瑕点,不是说必须无界才能算。有意思的是,有些函数在 $a$ 附近有界,那你完全可以把它当正常积分处理,这时候瑕积分和定积分算出来的值一致,理论上是相容的。反过来,如果 $f$ 在 $a$ 附近无界但极限存在,那这个定义就派上用场了。
第三句"在任何内闭区间 $[u,b] \subset (a,b]$ 上有界且可积"是最容易被跳过去、但最不能省的一条。注意措辞:是"任何",不是"存在某个"。这句话的意思是,只要你把切口 $u$ 定在 $a$ 右边任何位置,剩下的 $[u,b]$ 上函数就必须规规矩矩——有界、黎曼可积。它保证了 $\int_u^b f$ 这个量对每个 $u > a$ 都是良定义的正常积分,从而 $\lim_{u\to a^+}$ 才有讨论对象。
为什么要用"任何"?因为后面要对所有 $u > a$ 取极限。如果只有某些 $u$ 能让 $f$ 在 $[u,b]$ 上可积,那极限就无从谈起。举个病态的例子:$f(x) = 1/\sqrt{x}$ 在无理数点、$f(x) = 1/\sqrt{x} + D(x)$ 在有理数点,其中 $D$ 是 Dirichlet 函数。$f$ 在 $a=0$ 附近无界,但在任何 $[u,b]$($u>0$)上,$D$ 的振荡导致 $f$ 黎曼不可积,那这个 $\int_u^b f$ 就不存在,瑕积分无从定义。
我见过的另一个误区是把"可积"理解成"连续"。其实定义只要求可积,不要求连续。$f$ 在 $(a,b]$ 上可以有有限个跳跃间断点,只要不破坏可积性就行。这给实际计算留了很大余地。
提示:这条"任何内闭区间"的条件还隐含了一层意思——瑕点只有 $a$ 一个。如果区间内部还有别的无界点,或者 $b$ 处也无界,那是多瑕点情形,必须先拆区间,每一段单独判定,全部收敛才算整体收敛。
1.3 无穷限积分和瑕积分,是同一套逻辑的两个投影
很多人学完无穷限反常积分再学瑕积分,会觉得这是两套彼此独立的工具。我当初也这么以为,直到做了一道换元题才发现它们本质上是同一件事。
无穷限积分是这么干的:把 $\int_a^{+\infty} f$ 定义成 $\lim_{A \to +\infty} \int_a^A f$,截的是"右端点跑向无穷"。瑕积分截的是"左端点跑向瑕点"。两者的形式完全一致,都是"固定一头,移动另一头,取极限"。这种结构上的一致性,导致后面所有的判别法、性质、甚至常见错误都成对出现。
| 对比维度 | 无穷限反常积分 | 瑕积分(瑕点在左端点) |
|---|---|---|
| 截断对象 | 右端点 $A \to +\infty$ | 左端点 $u \to a^+$ |
| 截断后的积分 | $\int_a^A f$ | $\int_u^b f$ |
| 收敛判据核心 | $f$ 在无穷远处的衰减速度 | $f$ 在瑕点附近的增长阶 |
| 基准模型 | $\int_1^{+\infty} x^{-p},\mathrm{d}x$ | $\int_0^1 x^{-p},\mathrm{d}x$ |
| 临界指数 | $p > 1$ 收敛 | $p < 1$ 收敛 |
| 判别法乘子 | $x^p f(x)$ | $(x-a)^p f(x)$ |
这张表值得贴在书桌前。你会发现两边的临界方向正好相反:无穷远处要函数衰减得足够快($p$ 大),瑕点附近要函数增长得足够慢($p$ 小)。逻辑上完全对称——一头是"尾巴要够瘦",一头是"尖峰要够钝"。
更有意思的是,这两类积分可以通过 $x = 1/t$ 相互转化。这个技巧我在后面第 3 章会专门展开,它能让你把一道看起来棘手的瑕积分问题,换成一个用 Dirichlet 判别法就能解决的无穷限问题。掌握了这个对应关系,等于把两套判别法合并成了一套。
2. 拿 $p$ 积分开刀:一个基准模型打穿全部直觉
2.1 定义直接算,三段讨论一次做全
所有教材都会先拿 $\int_0^1 x^{-p},\mathrm{d}x$ 开刀,因为它够简单、够典型,而且结论能当尺子用。我不省略中间的讨论过程,因为这里的分段逻辑是最容易在考试和作业里出岔的地方。
固定 $u \in (0,1)$,先算截断后的正常积分。分两种情况:
$p \ne 1$ 时,
$$\int_u^1 x^{-p},\mathrm{d}x = \left[\frac{x^{1-p}}{1-p}\right]_u^1 = \frac{1 - u^{1-p}}{1-p}$$
$p = 1$ 时,
$$\int_u^1 \frac{1}{x},\mathrm{d}x = \left[\ln x\right]_u^1 = -\ln u$$
接下来看 $u \to 0^+$ 时的行为。注意 $u^{1-p}$ 当 $u \to 0^+$ 时:
- 如果 $1-p > 0$,也就是 $p < 1$,那么 $u^{1-p} \to 0$,于是极限是 $\frac{1}{1-p}$,收敛。
- 如果 $1-p < 0$,也就是 $p > 1$,那么 $u^{1-p} = \frac{1}{u^{p-1}} \to +\infty$,于是整个式子趋于 $+\infty$,发散。
- 如果 $p = 1$,$-\ln u \to +\infty$,发散。
汇总成表:
| 参数范围 | 截断积分表达式 | $u \to 0^+$ 的极限 | 敛散性 | 收敛值 |
|---|---|---|---|---|
| $p < 1$ | $\dfrac{1-u^{1-p}}{1-p}$ | $\dfrac{1}{1-p}$ | 收敛 | $\dfrac{1}{1-p}$ |
| $p = 1$ | $-\ln u$ | $+\infty$ | 发散 | — |
| $p > 1$ | $\dfrac{1-u^{1-p}}{1-p}$ | $+\infty$ | 发散 | — |
这个结论必须记熟到条件反射的程度。它是后面所有比较判别法的参照物——碰到一个陌生的瑕积分,第一步永远是看它在瑕点附近"像不像"某个 $x^{-p}$,然后拿这张表去比。
顺带说一句容易忽略的细节:收敛值是 $\frac{1}{1-p}$,当 $p \to 1^-$ 时会炸掉,这跟 $p=1$ 处发散是吻合的。这种"临界点两侧行为剧变"的现象,在后面的对数型例子里还会再出现一次。
2.2 阈值为什么卡在 $p=1$:用尺度切片看清临界机制
记住 $p=1$ 是分水岭不难,难的是想明白为什么偏偏是这个数。我给一个不用公式也能说清的直观解释。
把 $(0,1]$ 按对数尺度切段:$(\frac12, 1]$、$(\frac14, \frac12]$、$(\frac18, \frac14]$……每一段都是上一段的等比缩小。现在看每一段贡献多少面积。
对 $f(x) = x^{-p}$,第 $k$ 段 $(\frac{1}{2^{k+1}}, \frac{1}{2^k}]$ 上的贡献,量级大致是"段长 × 段内的典型函数值"。段长是 $\frac{1}{2^{k+1}}$,段内的最小函数值是 $(2^{-k})^{-p} = 2^{kp}$。粗略估计贡献约为 $\frac{1}{2} \cdot 2^{kp} \cdot 2^{-k} = \frac12 \cdot 2^{(p-1)k}$。
- $p < 1$ 时,$p - 1 < 0$,指数因子 $2^{(p-1)k}$ 随着 $k$ 增大而衰减,各段贡献构成一个公比小于 $1$ 的等比级数,求和有限。
- $p = 1$ 时,指数因子恒等于 $1$,每一段贡献都是常数 $\frac12$ 左右,无穷多段加起来就是无穷。
- $p > 1$ 时,指数因子随 $k$ 增长爆炸,不仅段贡献越来越大,连有限段的和都会趋于无穷。
这个解释的价值在于:它把"临界指数"这件事变成了一个比值问题——段长缩短的倍率($2$)和函数值增大的倍率($2^p$)谁占上风。$p=1$ 时两者刚好平手,面积就在每一层留下来固定的份额,层层累积,自然发散。这也解释了为什么对数函数会是"最慢增长"的那一档——$-\ln u$ 发散极其缓慢,要衰减到 $u = 10^{-100}$ 才能让 $-\ln u$ 达到 $230$ 左右。
注意:这个切片估算是定性说明,不是证明。严谨证明还是要靠第 2.1 节那种直接求极限的方法。但定性直觉在做选择题和快速判断时非常好用,尤其当你想在几秒钟内判断某个积分"大概是收还是散"的时候。
2.3 对数型瑕点:超过 $p$ 判别的两块试金石
$p$ 判别法在 $p=1$ 处失效,这不是理论的缺陷,而是它只用了"幂函数"这一族参照物。对数函数在幂函数的裂缝里活着,所以必须单独处理。这里给两个我当年反复推过、也是考试里最常出现的例子。
第一个:$\int_0^{1/2} \frac{\mathrm{d}x}{x \ln x}$。这里 $\ln x < 0$,函数值取负,但我们关心的是绝对值。原函数可以找出来:令 $t = \ln x$,$\mathrm{d}t = \mathrm{d}x / x$,于是
$$\int \frac{\mathrm{d}x}{x\ln x} = \int \frac{\mathrm{d}t}{t} = \ln|t| = \ln|\ln x|$$
从 $u$ 积到 $\frac12$:
$$\int_u^{1/2} \frac{\mathrm{d}x}{x\ln x} = \ln|\ln(1/2)| - \ln|\ln u|$$
$u \to 0^+$ 时 $\ln u \to -\infty$,$|\ln u| \to +\infty$,所以 $\ln|\ln u| \to +\infty$,整个式子趋于 $-\infty$。被积函数是负的,积分值也该是负的,发散的判断没变——它发散。
用 $p$ 判别法的极限形式去试:$(x-0)^1 \cdot \frac{1}{x\ln x} = \frac{1}{\ln x} \to 0$。极限是 $0$,落在"$l = 0$ 且 $p = 1$"这个临界格子里,判别法给不出结论。这就是临界失效的典型表现。
第二个:$\int_0^{1/2} \frac{\mathrm{d}x}{x \ln^2 x}$。注意 $\ln^2 x$ 是正的(平方),所以被积函数为正。同样换元 $t = \ln x$:
$$\int \frac{\mathrm{d}x}{x\ln^2 x} = \int \frac{\mathrm{d}t}{t^2} = -\frac{1}{t} = -\frac{1}{\ln x}$$
从 $u$ 积到 $\frac12$:
$$\left[-\frac{1}{\ln x}\right]_u^{1/2} = -\frac{1}{\ln(1/2)} + \frac{1}{\ln u}$$
$u \to 0^+$ 时 $\ln u \to -\infty$,$\frac{1}{\ln u} \to 0$。所以极限是 $-\frac{1}{\ln(1/2)} = \frac{1}{\ln 2}$,有限,收敛。
这两个例子的差别只在 $\ln x$ 的指数:一次方发散,二次方收敛。用 $p$ 判别法去测,两者的 $(x-0)^1 f(x)$ 极限分别是 $1/\ln x \to 0$ 和 $1/\ln^2 x \to 0$,都落在临界区,全都不管用。
这就是为什么教材里提到"对数判别法"或者"更精细的比较"。实际操作中,我的经验是:碰到 $x\ln^p x$ 形式的瑕点,直接做 $t = \ln x$ 的换元,把它变成 $\int t^{-p},\mathrm{d}t$ 这种标准 $p$ 积分,看指数 $p$ 跟 $1$ 的关系——$p \le 1$ 发散,$p > 1$ 收敛。这比背什么对数判别法公式靠谱得多,而且过程清楚,不怕记混。
| 被积函数(靠近 $x=0^+$) | 换元后 | 判定 | 收敛值 |
|---|---|---|---|
| $\dfrac{1}{x\ln x}$ | $\displaystyle\int t^{-1},\mathrm{d}t$ | 发散 | — |
| $\dfrac{1}{x\ln^2 x}$ | $\displaystyle\int t^{-2},\mathrm{d}t$ | 收敛 | $\dfrac{1}{\ln 2}$ |
| $\dfrac{1}{x\ln^{3/2} x}$ | $\displaystyle\int t^{-3/2},\mathrm{d}t$ | 收敛 | 有限 |
这张小表建议自己动手再推一遍。很多人栽在符号上——$\ln x$ 在 $(0,1)$ 上是负的,$\ln^2 x$ 才是正的,处理 $\ln^p x$ 的时候务必先确认正负再作比较。
3. 判别法体系:不算原函数也能定生死
3.1 比较判别法:找一个"垫背的"标准积分
实际做题,绝大多数瑕积分是算不出初等原函数的。$\int_0^1 e^{-1/x},\mathrm{d}x$、$\int_0^1 \frac{\sin x}{x^{3/2}},\mathrm{d}x$ 这类东西,你不可能老老实实求出原函数再取极限。这时候靠的就是判别法,而所有判别法的源头都是比较判别法。
它的逻辑简单到近乎废话:如果两个非负函数 $f, g$ 在瑕点附近满足 $0 \le f(x) \le g(x)$,那么
- $g$ 的瑕积分收敛,则 $f$ 的瑕积分也收敛(大的都收得住,小的自然收得住);
- $f$ 的瑕积分发散,则 $g$ 的瑕积分也发散(小的都撑不住了,大的更撑不住)。
反向不成立,这是最容易记反的地方。$g$ 发散了推不出 $f$ 发散,$f$ 收敛了也推不出 $g$ 收敛。
用的时候要找"垫背的标准积分",最常用的当然就是第 2 章的 $p$ 积分。举个具体的:判断 $\int_0^1 \frac{\mathrm{d}x}{\sqrt{x}(1+x)}$。在 $(0,1]$ 上,$1 \le 1+x \le 2$,所以
$$\frac{1}{2\sqrt{x}} \le \frac{1}{\sqrt{x}(1+x)} \le \frac{1}{\sqrt{x}}$$
右边是 $p = 1/2 < 1$ 的收敛积分,被积函数往上被它压住,所以原积分收敛。这个例子里我甚至不需要算出值来——虽然它确实能算,结果是 $\frac{\pi}{2}$(做个 $t = \sqrt{x}$ 的换元就变成了 $\int_0^1 \frac{2,\mathrm{d}t}{1+t^2}$),但判别收敛性的时候完全不必走那么远。
比较判别法的麻烦在于"具体找不等式"往往很费劲。$1+x$ 这种简单因子还好,碰上 $\frac{1}{x^{1/3}(1 + e^{1/x})}$ 这种,硬找不等式会很难受。所以实际更常用的是它的极限形式。
3.2 极限形式与 $(x-a)^p$ 乘子:判别法最实用的一档
极限比较判别法(也就是瑕积分版的 $p$ 判别法)长这样:设 $f$ 在 $(a,b]$ 上非负,$a$ 是瑕点,如果存在实数 $p$ 使得
$$\lim_{x \to a^+} (x-a)^p f(x) = l$$
那么:
- 若 $0 \le l < +\infty$ 且 $p < 1$,则 $\int_a^b f$ 收敛;
- 若 $0 < l \le +\infty$ 且 $p \ge 1$,则 $\int_a^b f$ 发散。
这个判别法我不建议纯靠背,理解一下它的含义会更牢:$(x-a)^p f(x) \to l$ 的意思就是 $f(x)$ 在瑕点附近跟 $\frac{l}{(x-a)^p}$ 同阶,也就是跟 $p$ 积分"长得一样"。既然长得一样,敛散性自然跟着 $p$ 积分走,而那把尺子就是第 2 章的表。
举个计算实例:$\int_0^1 \frac{\mathrm{d}x}{\sqrt{x},(1+x^2)}$。取 $p = \frac12$,
$$(x-0)^{1/2} \cdot \frac{1}{\sqrt{x}(1+x^2)} = \frac{1}{1+x^2} \to 1 \quad (x \to 0^+)$$
$l = 1$ 是正有限数,$p = \frac12 < 1$,收敛。
再来一个会让人卡一下的:$\int_0^1 x^{\alpha} \ln x ,\mathrm{d}x$,问 $\alpha$ 取什么值时收敛。这里 $\ln x < 0$,先取绝对值考虑 $f = -x^\alpha \ln x \ge 0$。取 $p = 1 - \alpha - \epsilon$($\epsilon$ 是某个小正数),计算
$$x^{1-\alpha-\epsilon} \cdot (-x^\alpha \ln x) = -x^{1-\epsilon}\ln x \to 0 \quad (x \to 0^+)$$
对数因子被任何正幂次压住,这是常见结论。极限为 $0$,若 $p < 1$ 即 $1 - \alpha - \epsilon < 1$,也就是 $\alpha + \epsilon > 0$,收敛。$\epsilon$ 可以任意小,所以结论是 $\alpha > 0$ 时收敛,$\alpha \le 0$ 时发散。这个推导过程里"$-x^{1-\epsilon}\ln x \to 0$"那一步是核心,可以用洛必达验证,也可以直接用"对数增长慢于任何正幂次"这个结论。
注意:用极限形式时,$p$ 的选取不是唯一的,但"$p<1$ 配有限极限收敛、$p\ge1$ 配正极限发散"这两个组合必须配对正确。我见过把 $p<1$ 和 $l = +\infty$ 凑一块判收敛的,那是彻底用错了。记住口诀:小 $p$ 配小 $l$ 才收敛,其余都要小心。
3.3 瑕点长在区间内部:拆分原则和"全部收敛才算收敛"
定义只处理了瑕点在端点 $a$ 的情形。实际题目里瑕点经常出现在区间内部,比如 $\int_0^2 \frac{\mathrm{d}x}{(x-1)^{2/3}}$,瑕点在 $x=1$。这种时候的处理方式是唯一的:在瑕点处把区间切开,
$$\int_0^2 \frac{\mathrm{d}x}{(x-1)^{2/3}} = \int_0^1 \frac{\mathrm{d}x}{(x-1)^{2/3}} + \int_1^2 \frac{\mathrm{d}x}{(x-1)^{2/3}}$$
右半边是标准的"瑕点在左端点",左半边通过换元 $t = 1 - x$ 就能变成标准形式。两块分别判定,两块都收敛,整体才收敛;只要有一块发散,整体就发散。
这条规则听起来显然,但实际执行时特别容易漏。典型的漏法是:看到被积函数是奇函数、区间对称,就直接写"积分为 0"。这个坑我在第 5 章会专门拆,先记住结论——拆分之后的两个瑕积分是各自独立取极限的,不允许联动。
顺带提多个瑕点的情形。$\int_0^1 \frac{\mathrm{d}x}{\sqrt{x(1-x)}}$ 两端都是瑕点,按同样的逻辑在中间任取一点 $c \in (0,1)$ 切开,$c$ 取 $\frac12$ 最方便。两块都收敛(都是 $p = 1/2$ 那一档),整体才收敛。实际上这个积分的值是 $\pi$,靠三角换元 $x = \sin^2\theta$ 能算出来。
还有一类容易忽略的:瑕点在端点,但内部分布着无穷多个"小毛病"的点。比如 $f(x) = \frac{1}{\sqrt{x}}\sin\frac1x$,在 $(0,1]$ 上无界,但任何 $[u,1]$ 上都是有界可积的(振荡函数有界,间断点不影响可积性),所以它符合单瑕点的定义,前面的判别法可以照用。判断的时候不必被 $\sin\frac1x$ 吓住,先看振幅是否被 $\frac{1}{\sqrt{x}}$ 压住就行。
3.4 绝对收敛、条件收敛,以及 $x = 1/t$ 这把万能钥匙
瑕积分同样有绝对收敛和条件收敛的区分。若 $\int_a^b |f|$ 收敛,称 $\int_a^b f$ 绝对收敛,此时 $\int_a^b f$ 本身必收敛;反过来,$\int_a^b f$ 收敛但 $\int_a^b |f|$ 发散,就叫条件收敛。
条件收敛的例子在单瑕点情形下不算太好构造,但只要你掌握换元互化,问题立刻变简单。取积分 $\int_0^1 \frac{1}{x}\sin\frac1x,\mathrm{d}x$,瑕点在 $0$,被积函数无界。做换元 $x = \frac1t$,$\mathrm{d}x = -\frac{\mathrm{d}t}{t^2}$,$x: 0^+ \to 1$ 对应 $t: +\infty \to 1$,于是
$$\int_0^1 \frac{1}{x}\sin\frac1x,\mathrm{d}x = \int_1^{+\infty} \frac{\sin t}{t},\mathrm{d}t$$
右边是经典的条件收敛积分,由 Dirichlet 判别法($\frac1t$ 单调趋于 $0$,$\sin t$ 的部分积分有界)可以断定它收敛,但取绝对值之后 $|\sin t|/t$ 的积分发散。所以原来的瑕积分是条件收敛的。
这个换元之所以好用,是因为它把整条数轴翻了过来:$x \to 0^+$ 对应 $t \to +\infty$,$x \to 1$ 对应 $t \to 1$,瑕点问题直接翻译成无穷远问题。一般形式是
$$\int_0^1 f(x),\mathrm{d}x = \int_1^{+\infty} f!\left(\frac1t\right)\frac{\mathrm{d}t}{t^2}$$
只要是形如 $f(x) = g(1/x) \cdot x^{-2}$ 的东西,换完就变成 $\int_1^{+\infty} g(t),\mathrm{d}t$。我在做竞赛题和考研题的时候,凡是见到 $\sin\frac1x$、$e^{1/x}$、$\cos\frac1x$ 这种复合结构,第一反应就是翻成无穷限,然后用 Dirichlet、Abel 那一套去处理,成功率比硬啃瑕积分高得多。
| 场景 | 换元方向 | 转换结果 | 适用判别法 |
|---|---|---|---|
| $x \to 0^+$ 处瑕点 | $x = 1/t$ | $t \to +\infty$ 的无穷限积分 | Dirichlet / Abel |
| $x \to b^-$ 处瑕点 | $x = b - 1/t$ | $t \to +\infty$ 的无穷限积分 | 同上 |
| 双侧瑕点 | 先拆分再分别换元 | 两个无穷限积分 | 分别判定 |
4. 落地计算:从广义公式到能在电脑上验证的流程
4.1 广义牛顿-莱布尼茨公式与换元的两条纪律
判别收敛性只是第一步,很多时候题目要求把值算出来。这里靠的是牛顿-莱布尼茨公式在瑕积分上的推广。
设 $f$ 在 $(a,b]$ 上连续(或在 $(a,b]$ 上可积、瑕点在 $a$),$F$ 是 $f$ 在 $(a,b]$ 上的一个原函数。如果极限 $\lim_{x\to a^+} F(x) = F(a^+)$ 存在且有限,那么
$$\int_a^b f(x),\mathrm{d}x = F(b) - F(a^+)$$
注意这里写的是 $F(a^+)$ 而不是 $F(a)$——$f$ 在 $a$ 处可能压根没有定义,原函数自然也谈不上在那点有值,只能取单侧极限。这是广义公式和普通公式唯一的形式差异,但就是这点差异决定了成败。
换元法在瑕积分里同样适用,但有两条纪律必须守:
第一条,换元必须单调(或分片单调),并且把瑕点的位置对应清楚。$x = \varphi(t)$,$\varphi$ 在对应区间上连续可导、单调,$\varphi'(t) \ne 0$,原区间 $[a,b]$ 对应 $[\alpha,\beta]$,那么
$$\int_a^b f(x),\mathrm{d}x = \int_\alpha^\beta f(\varphi(t))\varphi'(t),\mathrm{d}t$$
两边的敛散性一致,收敛时值相等。$\alpha$、$\beta$ 中可能出现新的瑕点,也可能原来的瑕点被"抹平"(比如 $x = t^2$ 把 $x=0$ 附近的 $1/\sqrt{x}$ 变成 $t=0$ 处的常数),无论哪种,换元后的积分要重新判定,不能默认敛散性会照搬。
第二条,分部积分时边界项必须写成极限。$\int_a^b u,\mathrm{d}v = [uv]a^b - \int_a^b v,\mathrm{d}u$ 里的 $[uv]a^b$ 实际是 $\lim{x \to b^-} u(x)v(x) - \lim{x\to a^+} u(x)v(x)$,两个极限都得存在且有限,公式才成立。如果某个边界项发散,那就说明这个分部走不通,得换路子。
4.2 一道内点瑕点的完整算例,从拆到算
拿前面提过的 $\int_0^2 \frac{\mathrm{d}x}{(x-1)^{2/3}}$ 做完整演示。这道题不复杂,但把"拆分—判定—计算—合并"整套流程都涵盖了,适合当模板。
第一步,识别瑕点。$x = 1$ 时分母为零,被积函数无界,这是内点瑕点。其余位置连续。
第二步,拆分。
$$I = \int_0^1 (x-1)^{-2/3},\mathrm{d}x + \int_1^2 (x-1)^{-2/3},\mathrm{d}x \equiv I_1 + I_2$$
第三步,把两块都改成标准形式。对 $I_1$,令 $t = 1 - x$,则 $\mathrm{d}t = -\mathrm{d}x$,$x: 0 \to 1$ 对应 $t: 1 \to 0^+$,$x - 1 = -t$,$(x-1)^{-2/3} = (-t)^{-2/3} = t^{-2/3}$(平方再开三次方,符号消掉)。于是
$$I_1 = \int_0^1 t^{-2/3},\mathrm{d}t$$
这就是瑕点在 $0$ 的标准 $p$ 积分,$p = \frac23 < 1$,收敛。对 $I_2$,直接就是
$$I_2 = \int_1^2 (x-1)^{-2/3},\mathrm{d}x$$
瑕点在左端点 $1$,同样是 $p = \frac23$ 那一档。
第四步,算值。原函数是 $\frac{(x-1)^{1/3}}{1/3} = 3(x-1)^{1/3}$。对 $I_1$:
$$I_1 = \left[3(x-1)^{1/3}\right]_0^1 = 0 - 3 \cdot (-1)^{1/3} = 3$$
对 $I_2$:
$$I_2 = \left[3(x-1)^{1/3}\right]_1^2 = 3 \cdot 1^{1/3} - 0 = 3$$
合起来 $I = 6$。
这里有个容易出错的细节:$(x-1)^{1/3}$ 在 $x < 1$ 时取负值,$-1$ 的立方根是 $-1$,不是 $1$。如果拿计算器按 $-1$ 的 $1/3$ 次方,很多工具会返回复数或者 NaN,因为它按 $e^{\frac13 \ln(-1)}$ 去算主值。手动处理的时候必须意识到这是实数的奇次根,结果是负的。我当年在代码里被这个坑过一次,算出来面积是复数,debug 了半天。
把 $I_1$ 和 $I_2$ 的几何含义对照一下:被积函数关于 $x = 1$ 对称,$f(1+t) = f(1-t)$,所以两半面积相等是完全预期的。$6$ 这个值也合理——函数在 $\frac14$ 处取值是 $(\frac34)^{-2/3} \approx 1.21$,在 $0$ 处是 $1$,整体曲线上抬不夸张,跨度 $2$,面积 $6$ 是说得通的。
4.3 数值验证:让电脑把那个"2"算给你看
理论推导再漂亮,也不如让数值跑一遍来得踏实。我习惯每写完一个瑕积分就顺手验证一下,特别是那些结论看起来反直觉的(比如 $\int_0^1 \ln x,\mathrm{d}x = -1$ 这种)。
最直接的写法是让 scipy 硬算:
import numpy as np from scipy.integrate import quad # 直接积,瑕点在 0 val, err = quad(lambda x: 1.0 / np.sqrt(x), 0, 1) print(f"直接算: {val:.10f}, 误差估计: {err:.2e}")跑出来大致是直接算: 1.9999999998, 误差估计: 2.2e-08。quad 内部用的是自适应算法,遇到端点奇性它会自动加密采样点,所以能算出来,但误差估计偏保守。如果函数奇性更凶(比如 $x^{-0.9}$),直接算的精度会明显下降。
更优雅的做法是告诉 quad 端点奇性的确切形式。scipy 的weight='alg'参数专门处理 $(x-a)^{\alpha}(b-x)^{\beta}$ 这一类的端点奇性:
import numpy as np from scipy.integrate import quad # 把 x^{-1/2} 作为权函数交给 quad,剩下的部分当作光滑函数 val, err = quad(lambda x: 1.0, 0, 1, weight='alg', wvar=(-0.5, 0.0)) print(f"加权算: {val:.12f}, 误差估计: {err:.2e}")这里 $f(x) = x^{-1/2} \cdot 1$,把 $x^{-1/2}$ 拆到权函数里,$\alpha = -0.5$,$\beta = 0$(右端点没有奇性),剩下的 $g(x) = 1$ 完全光滑。这样算出来的误差能压到 $10^{-12}$ 量级,结果就是 $2.000000000000$。
再验证一个发散的例子,看看计算机会怎么"报信":
import numpy as np from scipy.integrate import quad import warnings with warnings.catch_warnings(): warnings.simplefilter("ignore") val, err = quad(lambda x: 1.0 / x, 1e-12, 1) print(f"1/x 的截断积分: {val:.4f}")因为下限没法真的取 $0$,只能取个极小的正数。这里取 $10^{-12}$,算出来是 $\ln(10^{12}) \approx 27.63$。如果你把下限改成 $10^{-20}$,结果会变成 $46.05$。数值随着下限的对数增长,这正是发散的数值指纹——多算一位精度,值就多涨一截,永远追不上。
这两个实验做完,收敛和发散在数值上的差别就非常具体了:收敛的积分,你把下限越推越小,结果稳定在某个数附近;发散的积分,你把下限推小一位,结果就往上窜一截。我自己在写论文或者做数值实验的时候,就靠这个现象做快速筛查。
提示:验证 $p$ 积分收敛性的时候,直接调 quad 从 $0$ 积到 $1$ 可能触发
RuntimeWarning: divide by zero,但结果通常是可用的。想干净一点就手动设一个极小的下限,比如 $10^{-14}$ 或者np.finfo(float).eps,代价是引入了截断误差,取值会略微偏小(对 $p<1$ 的收敛积分,偏差量级是 $u^{1-p}/(1-p)$)。
5. 翻车现场合集与排查清单
5.1 那些算出负数面积的操作
先看最经典的一道:$\int_{-1}^{1} \frac{\mathrm{d}x}{x^2}$。
不少人看到这个会直接套牛顿-莱布尼茨:原函数是 $-\frac1x$,代入上下限得 $-\frac{1}{1} - (-\frac{1}{-1}) = -1 - 1 = -2$。算出个负数。而被积函数 $\frac{1}{x^2}$ 恒正,积分值不可能是负的,这条自检就已经把这答案毙掉了。
正确的做法是先拆:$x=0$ 是瑕点,区间拆成 $[-1,0)$ 和 $(0,1]$。左半段 $\int_{-1}^0 \frac{\mathrm{d}x}{x^2}$,原函数 $-\frac1x$,从 $-1$ 到 $u$($u<0$)积出来是 $-\frac1u - 1$,$u \to 0^-$ 时 $-\frac1u \to +\infty$,发散。右半段同理发散。整体发散,没有值。
这个例子的教训很直白:只要区间内部有瑕点,牛顿-莱布尼茨公式就不能整个区间直接用。它只对 ([a,b]) 上有界且连续的函数成立。一旦中间断了,公式失效,必须拆开。
再看一道更阴的:$\int_{-1}^{1} \frac{\mathrm{d}x}{x}$。这回原函数是 $\ln|x|$,代入上下限得到 $\ln 1 - \ln 1 = 0$,跟奇函数的对称性似乎也吻合,看起来完美。但它是发散的。严格做拆分:$\int_0^1 \frac{\mathrm{d}x}{x} = \lim_{u\to 0^+}(-\ln u) = +\infty$,左半段是 $-\infty$,两边各自发散,整体发散。那个 $0$ 是怎么来的?是 $+\infty$ 和 $-\infty$ 在一个错误公式下"抵消"出来的假象。这是 Cauchy 主值,不是瑕积分,下一节专门讲。
第三类错误更隐蔽:等价无穷小替换用在不该用的地方。有人算 $\int_0^1 \frac{\sin x}{x^{3/2}},\mathrm{d}x$,把 $\sin x$ 换成 $x$,得到 $\int_0^1 x^{-1/2},\mathrm{d}x = 2$,直接下结论说积分值是 $2$。这是拿等价无穷小去算具体数值,严重越界。等价替换只能用来判断敛散性(因为它保持阶,而收敛性只取决于阶),绝对不能用来算值。正确答案是 $\int_0^1 x^{-1/2} \cdot \frac{\sin x}{x},\mathrm{d}x$,那个 $\frac{\sin x}{x}$ 是光滑的,值不等于 $1$,具体数值没有初等表达式,只能数值算,大概在 $1.78$ 左右。收敛性判断出来是"收敛",这是对的;把 $2$ 当成积分值,是错的。
| 错误操作 | 表面症状 | 根因 | 正确做法 |
|---|---|---|---|
| 整区间套 N-L 公式 | 算出负面积或明显矛盾的值 | 忽略内点瑕点,公式前提不成立 | 先在瑕点处拆区间 |
| 奇函数对称区间直接得 0 | 结果"很合理"但积分发散 | 混淆 Cauchy 主值与瑕积分 | 分别判定两侧,各自收敛才可合并 |
| 用等价无穷小算具体值 | 数值与真值有偏差 | 等价只保持极限阶,不保等式 | 只用于判敛散,算值另想办法 |
| 拆项时只看一边收敛 | 得出发散结论或错算收敛 | 拆分后必须两边都收敛 | 每一块独立取极限 |
| 换元后忘记重判瑕点 | 敛散性与预期不符 | 换元可能移动或消除瑕点 | 换元后重新走一遍识别流程 |
5.2 Cauchy 主值不是瑕积分,别再混为一谈
这两者的区别值得单独讲,因为它涉及极限过程本身的性质。
瑕积分要求 $\lim_{u\to 0^+}\int_u^1 f$ 和 $\lim_{v\to 0^-}\int_{-1}^v f$各自独立存在。两个极限里的 $u$ 和 $v$ 互不相干,可以一个跑得快一个跑得慢。
Cauchy 主值把两者绑在一起,用同一个$\varepsilon$ 同时截断:
$$\text{PV}\int_{-1}^{1}\frac{\mathrm{d}x}{x} = \lim_{\varepsilon \to 0^+}\left(\int_{-1}^{-\varepsilon}\frac{\mathrm{d}x}{x} + \int_{\varepsilon}^{1}\frac{\mathrm{d}x}{x}\right)$$
算一下括号里面:$\int_{-1}^{-\varepsilon}\frac{\mathrm{d}x}{x} = \ln\varepsilon$,$\int_\varepsilon^1 \frac{\mathrm{d}x}{x} = -\ln\varepsilon$,加起来恒等于 $0$。所以主值存在,等于 $0$。但瑕积分是发散的,因为两个独立的极限分别是 $-\infty$ 和 $+\infty$。
用具体数字感受一下差别。取 $\varepsilon = 10^{-3}$,左右两段分别是 $\ln 10^{-3} \approx -6.91$ 和 $+6.91$,加起来 $0$。如果让左边的切口取 $10^{-6}$、右边的切口取 $10^{-3}$,那么左边 $-13.82$、右边 $+6.91$,和是 $-6.91$,不是 $0$。既然结果依赖于两个切口趋近的"相对速度",这个极限就不是一个确定的数,积分自然不收敛。主值之所以存在,是因为它人为规定了两个切口同步,把这种速度依赖性消掉了。
这个区分在工程里有实际意义。计算流体里绕开奇异核的积分、电磁学里处理 $\frac{1}{r}$ 型核函数,经常用到主值,因为物理上确实需要对两个方向做对称处理。但如果你在数学分析题里写"由奇函数性质,积分为 $0$",那就是把主值当成了积分,属于概念混淆。
5.3 一份可以直接照着走的排查流程
最后给一张我自己做题和审稿时用的检查表,按顺序走一遍,绝大多数错误都能拦住。
| 步骤 | 检查内容 | 判断依据 | 处理动作 |
|---|---|---|---|
| 1 | 找全瑕点 | 分母零点、对数零点、函数无定义点、区间端点 | 每个点都标在数轴上 |
| 2 | 确定瑕点位置 | 端点上还是内部 | 内点必须拆区间 |
| 3 | 局部阶分析 | 瑕点附近 $f$ 与 $(x-a)^{-p}$ 同阶 | 用极限形式求 $p$ |
| 4 | 逐个判敛 | $p < 1$ 收,$p \ge 1$ 散(左端点) | 多点情形逐块判定 |
| 5 | 全部收敛再动手算 | 有一块发散就整体发散 | 停止,直接给结论 |
| 6 | 选计算路径 | 有初等原函数走 N-L,没有走换元 | 注意边界项取极限 |
| 7 | 符号自检 | 被积函数恒正,结果必须为正 | 出现负数立刻回查 |
| 8 | 数值验证 | 收敛则值稳定,发散则随截断漂移 | 用quad或手算近似 |
| 9 | 结果量级合理性 | 与函数在区间上的典型量级对齐 | 偏差过大回查换元 |
这套流程里,第 3 步和第 7 步是我个人觉得最有价值的。第 3 步是因为很多人一上来就想着求原函数,其实绝大多数情况只需要知道阶就够了,求原函数的功夫完全白费。第 7 步是因为它零成本——被积函数明明恒正,你算出来个负数,立刻知道有问题,不用二次验算就能否定整个推导。
再补几个实操心得。碰到含参数的瑕积分,比如 $\int_0^1 x^{\alpha},\mathrm{d