ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

瑕积分收敛判别全解析:p积分、换元与数值验证

瑕积分收敛判别全解析: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

返回列表