数学分析经典反例全解析:从连续不可导到极限交换失效
2026/9/16 4:29:21 网站建设 项目流程

读大二那年,我第一次在《数学分析》课本里撞见“处处连续但处处不可导”这几个字,第一反应是印错了。小时候学函数,老师总说连续函数就是“图像能一笔画下来”,一笔画下来的线,怎么会没有切线?后来才慢慢明白,数学里的“连续”比“画得出来”要宽得多,而帮我把这条边界真正划清楚的,恰恰是一堆看起来像“坏函数”的特例与反例。我甚至觉得,谁要是没被几个反例“打脸”过,谁就算真正学过数分。

这篇内容想把我在学数分、教数分过程中攒下的经典反例从头捋一遍:它们怎么构造、为什么能推翻直觉、考试里怎么用、自己又该怎么造新反例。适合正在啃数分的高年级本科生、准备考研的同学,也适合带微积分课程的同行做个教学参考。放心,我不打算写得像教材那么端,就当是过来人给你翻翻我的“错题本”。

1. 为什么数学分析里“反例”如此重要

1.1 从一道“送命题”说起:连续函数一定可导吗

很多学校在讲完“连续”之后,都会顺势问一句:若函数在闭区间上连续,它是不是至少在一个点可导?这个问题放在课堂上,十个人里有八个人会点头。理由很朴素:连续嘛,图像不断,而一条不断的曲线总有“平滑”的地方吧?

答案是不一定。魏尔施特拉斯在1872年构造了一个函数:

$$W(x)=\sum_{n=0}^{\infty} a^n \cos(b^n \pi x)$$

其中 $0<a<1$,$b$ 为正奇数,且 $ab>1+\frac{3\pi}{2}$。这个函数在实数轴上处处连续,却处处不可导。我第一次看到这个结论时,觉得这简直是在挑衅几何直观。直到自己用 Weierstrass M 判别法证明了它的一致收敛性,又试着在脑子里想象它的局部形态——每放大一次,都会看到一模一样的锯齿状波纹,无穷无尽。连续函数可以“尖”到什么程度?这个反例给出了冷冰冰的回答。

所以学习数学分析,第一课要接受的不是定理,而是观念:几何直观是强有力的探路工具,但它永远不能替代证明。反例就是你用来检验直觉的试金石,每当你对一个命题说“显然成立”时,都应该先问问有没有哪个“怪函数”在偷偷等着你。

1.2 反例的三个价值:查漏、纠错、重塑直觉

我后来带学生时,喜欢把反例的价值分成三层,正好对应三个阶段的学习诉求。

第一层是“查漏”。一个定理摆在那里,少一个条件还成立吗?比如闭区间上连续函数必有一致连续,那把闭区间改成开区间呢?反例 $f(x)=\frac{1}{x}$ 在 $(0,1)$ 上连续但显然不一致连续。这类反例帮你把定理的每一个条件都变成“肌肉记忆”。

第二层是“纠错”。自己推导或做题时,经常会产生错误的猜想,这时候反例就是最直接的“打脸工具”。比如很多人初学可导时,会理所当然地认为“可导函数的导函数一定连续”,结果 $x^2\sin\frac{1}{x}$ 一个反例甩过来,瞬间清醒。

第三层是“重塑直觉”。这是最高级的一层,也是反例最迷人的地方。当你真正吃透一批经典反例后,你对“连续”“可积”“一致收敛”这些概念的理解,会和只背定理的人完全不同。你不再指望函数图像是光滑的,不再以为有界就万事大吉,你开始用“例外”的视角去审视每个命题,这才是数学分析真正想教给你的思维方式。

下面这张表是我给学生开的“直觉校准清单”,每一条都对应一个经典反例:

“我以为”“实际上”对应反例
连续函数一定可导不一定,处处连续处处不可导魏尔施特拉斯函数
可导函数的导函数连续不一定,导数可以不连续$x^2\sin\frac{1}{x}$
有界函数必可积不一定,振荡过于剧烈则不可积狄利克雷函数
逐点收敛的函数列,积分极限可以交换不一定,需要一致收敛等条件$nx(1-x^2)^n$
级数通项趋于0则级数收敛不一定,通项趋于0只是必要条件调和级数 $\sum\frac{1}{n}$

每次考试前让学生把这张表过一遍,正确率都能高不少。不是因为题目简单了,而是因为很多“看起来对”的选项,你一眼就能认出它是哪个反例在捣乱。

2. 那些绕不开的经典反例

2.1 处处连续、处处不可导:魏尔施特拉斯函数

魏尔施特拉斯函数的定义上面已经写了,这里多说两句它的“脾气”。它是一列余弦波的无穷叠加,每一项 $a^n\cos(b^n\pi x)$ 都是光滑的,但叠加起来之后,每一项的频率 $b^n$ 增长得极快,幅度 $a^n$ 又衰减得恰到好处。最终结果就是:在任意小的区间内,函数都充满高频振荡,局部放大后和整体长得一模一样,这就是它后来被称为“分形”鼻祖的原因。

证明它连续,用的是 Weierstrass M 判别法:因为 $|a^n\cos(b^n\pi x)|\le a^n$,而 $\sum a^n$ 收敛,所以函数项级数一致收敛,每一项都连续,故 $W(x)$ 连续。证明它处处不可导,需要借助差商估计,核心思路是:对任意一点 $x_0$,构造一列趋于 $x_0$ 的 $h_m$,使得差商 $\frac{W(x_0+h_m)-W(x_0)}{h_m}$ 的绝对值趋于无穷大。这就说明切线斜率不可能存在。

一个更容易理解但同样经典的初等例子,是所谓“三角波级数”。先定义锯齿函数 $\varphi(x)$ 为 $x$ 到最近整数的距离,再令:

$$F(x)=\sum_{k=0}^{\infty}\frac{1}{4^k},\varphi(4^k x)$$

这个级数一致收敛,所以 $F$ 连续。但每一项都在 $4^k x$ 为整数的地方有一个“尖点”,无穷多个尖点叠下来,使得 $F$ 在任何一点都不可导。同一个名字,魏尔施特拉斯函数用余弦波,这个用三角波,道理是相通的:用不断加密的尖点/振荡点,把“平滑性”彻底破坏掉。

很多人问:这种函数有什么用?在本科阶段,它的最大作用就是让你记住一个铁律——“连续”和“可导”之间隔着巨大鸿沟,可导是远比连续苛刻的条件。后来你会知道,这类函数在分形几何、布朗运动、金融数学里都有影子,那是后话了。

2.2 可导但导函数不连续:$x^2\sin\frac{1}{x}$

如果说魏尔施特拉斯函数让人“看不懂”,那 $x^2\sin\frac{1}{x}$ 就是最亲民的反例,因为它几乎无处不在地出现在考研题和期末题里。

定义函数:

$$ f(x)=\begin{cases} x^2\sin\frac{1}{x}, & x\neq 0\ 0, & x=0 \end{cases} $$

当 $x\neq0$ 时,它是两个光滑函数的复合,当然可导,导数为:

$$f'(x)=2x\sin\frac{1}{x}-\cos\frac{1}{x}$$

这个表达式在 $x\to0$ 时,$2x\sin\frac{1}{x}\to0$,但 $-\cos\frac{1}{x}$ 在 $[-1,1]$ 之间无限振荡,所以 $\lim_{x\to0}f'(x)$ 不存在。再看 $x=0$ 处的导数,不能直接套求导法则,必须用导数的定义:

$$f'(0)=\lim_{x\to0}\frac{x^2\sin\frac{1}{x}-0}{x}=\lim_{x\to0}x\sin\frac{1}{x}=0$$

于是我们得到了一个神奇的事实:$f$ 在 $x=0$ 处可导,且 $f'(0)=0$,但导函数 $f'(x)$ 在 $x=0$ 处没有极限,也就是导函数不连续。一个可导函数,它的导函数居然可以不连续,这直接摧毁了很多初学者的“导数就是光滑”“能求导就能画出导函数图像”的朴素想象。

这个反例还引出一个重要结论:导函数不一定连续,但它一定具有介值性,这就是达布定理。你可以理解为,导函数虽然可以“跳来跳去”,但不会跨过中间值直接跳变。所以如果你遇到一个函数声称是某个函数的导函数,它在某点却有第一类间断点,那它一定不是真正的导函数——这是判断“一个函数是否是导数”的利器。

2.3 黎曼函数:可积但“不连续点满天飞”

黎曼函数是另一个必须刻进DNA的例子:

$$ R(x)=\begin{cases} \frac{1}{q}, & x=\frac{p}{q}\text{ 为既约分数 }(q>0)\ 0, & x\text{ 为无理数} \end{cases} $$

这个函数在有理点取正值,在无理点取 0。因为有理数和无理数在数轴上都稠密,所以你会觉得它“处处都不连续”。但准确结论是:$R(x)$ 在每个有理点不连续,在每个无理点连续。

为什么无理点反而连续?因为若 $x_0$ 是无理数,想让 $R(x)$ 接近 0 很容易;想让它超过某个 $\varepsilon>0$,$x$ 必须是有理数且分母 $q$ 足够小,而分母不超过 $N$ 的有理数在每个有限区间内只有有限多个,所以只要取足够小的邻域,就能避开所有“取值较大”的有理点。这就是“分母越小,有理数越稀疏”的思想。

更反直觉的是,这个看似千疮百孔的函数,在 $[0,1]$ 上竟然是黎曼可积的,而且 $\int_0^1 R(x),dx=0$。原因是它的所有不连续点集合——有理数集——是可数的,而可数集的勒贝格测度为零。这正好呼应了勒贝格判据:有界函数在闭区间上黎曼可积,当且仅当它的不连续点集是零测集。

拿它和狄利克雷函数 $D(x)=1_{\mathbb{Q}}(x)$ 对比一下:狄利克雷函数在每一点都不连续,不连续点集是全体实数,测度不为零,所以黎曼不可积。同样是“稠密处不连续”,一个可积一个不可积,差别就藏在“不连续点到底有多少”这个测度问题里。这两个函数放在一起对比着学,黎曼积分理论的边界一下就清楚了。

2.4 极限交换失效的反例

数学分析里最频繁出现的“反例区”,莫过于各种“交换极限”。积分与极限的交换、导数与极限的交换、无穷级数与极限的交换,每一条都要小心。

先看积分与极限。设 $f_n(x)=nx(1-x^2)^n$,定义在 $[0,1]$ 上。对固定的 $x\in(0,1)$,因为 $|1-x^2|<1$,所以 $nx(1-x^2)^n\to0$;在端点 $x=0,1$ 处,$f_n(0)=f_n(1)=0$。因此 $f_n$ 逐点收敛到 $0$。但积分呢?

$$\int_0^1 nx(1-x^2)^n,dx=\frac{n}{2n+2}\to\frac12$$

逐点极限是 $0$,积分极限却是 $\frac12$,两个极限不能交换。问题出在哪里?出在“逐点收敛”只承诺每个点附近的行为,却不承诺整体“高峰”的宽度是否收缩。这个函数在 $x=0$ 附近有一个越来越窄但越来越高的“尖峰”,逐点看它趋于0,整体看尖峰面积却不消失。想要积分与极限交换,就得防止这种“尖峰逃逸”,一致收敛就是最常用的条件。

再看导数与极限。$g_n(x)=\frac{\sin(nx)}{\sqrt{n}}$ 在 $[0,\pi]$ 上一致收敛到 $0$,因为 $|g_n|\le\frac1{\sqrt n}$。但它的导数 $g'_n(x)=\sqrt{n}\cos(nx)$ 并不收敛,甚至振荡得越来越剧烈。这说明一致收敛只约束函数本身,完全管不住导数的行为。要想“导数的极限等于极限的导数”,还需要导数一致收敛之类的额外条件。

这两个例子我建议你亲手算一遍,别只看结论。算完之后你会发现,“一致收敛”为什么是数分里被反复强调的“万金油”,又为什么即便有了一致收敛,也不能无脑换极限——这背后全是反例在提醒你:条件不够,结论就会悄悄跑掉。

3. 反例的构造逻辑:从“没想到”到“可复现”

单纯背反例,遇到新题还是会懵。真正有用的能力,是看懂经典反例背后的“构造套路”。下面我把自己常用的几套思路拆开来讲。

3.1 震荡法:在一个点附近无限振荡

最常见的反例制造机就是 $\sin\frac1x$ 这条曲线。它把无限多次振荡压缩在 $x=0$ 的附近,振幅不变,频率趋于无穷。想造连续但不可导的函数,就让振荡的“振幅除以宽度”不收敛;想造可导但导函数不连续的函数,就在前面乘一个 $x^2$,让差商被压制住。

具体操作时,幂次是关键:$x\sin\frac1x$ 在 $x=0$ 处不连续?不对,实际上 $x\sin\frac1x$ 在0处连续但不可导;$x^2\sin\frac1x$ 在0处可导但导数不连续;$x^3\sin\frac1x$ 在0处导数连续但二阶导数不存在。你可以通过调整幂次,精确地控制“光滑到第几层”就坏掉。这个方法最大的好处是可控:你想让它在某点坏到什么程度,就用对应的幂次去压制。

3.2 级数叠加法:把高频振荡一层层叠起来

一个函数不够疯,就把无穷多个函数叠起来。魏尔施特拉斯函数的本质就是无穷多个频率按指数增长、幅度按指数衰减的余弦波的叠加。每叠加一层,就让每个点附近再多一层不可导的“锯齿”,最终叠出一个处处不可导的连续函数。

这个思路可以复制。你甚至可以拿三角波函数 $\varphi(x)$ 当“砖块”,用 $\sum a^k\varphi(b^k x)$ 的形式搭出各种病态函数。关键是幅度衰减要保证一致收敛(连续性),频率增长要足够快(破坏可导性),两者之间需要平衡。我上课时喜欢让学生类比“信号叠加”:低频是趋势,高频是细节,当你把无限多高频细节都塞进去之后,趋势就完全被细节吞没了。

3.3 稠密性与分割法:用有理数和无理数做文章

狄利克雷函数和黎曼函数共同教会我们一件事:有理数和无理数这两套“骨架”可以用来制造各种不连续。基本操作就是“分段配方”:在有理数点定义一个值,在无理数点定义另一个值,再通过调整这两个值的差异,控制不连续点的多少和性质。

比如想造一个只在某一点连续的函数,可以令:

$$f(x)=\begin{cases} x, & x\text{ 有理数}\ 0, & x\text{ 无理数} \end{cases}$$

这个函数在 $x=0$ 处连续(因为 $|x|$ 很小),在其他点都不连续。如果偏要造“处处不连续”,就让有理点和无理点的取值差一个固定常数,狄利克雷函数就是典型。想造“可积但不连续点无穷多”,就让有理点上的取值随分母减小,于是得到黎曼函数。这套“二分法”几乎是病理函数的基本乐高积木。

3.4 从经典反例组装新反例

有了上面的积木,你就可以自己组装新反例了。我常用的组装方式有三种。

第一种是“乘小量压制”。比如对某个处处不连续的函数 $D(x)$,乘上一个在目标点附近很小的因子 $x^2$,新函数在 $x=0$ 附近就会被“压制”得连续甚至可导,但离开 $0$ 点还是坏得很彻底。用这个方法可以造出只在一点连续、只在一点可导等各种函数。

第二种是“分段拼接”。把两个表现不同的函数拼在一起,保留各自的坏性质。比如左边用震荡函数,右边用阶跃函数,拼接处再用连续条件校准一下系数,就能得到“左边有某种性质、右边没有”的例子。

第三种是“复合传递”。这个要小心,因为复合会放大坏性质。一个经典例子是:设 $g(x)$ 为黎曼函数,$h(t)=1$(当 $t\neq0$)、$h(0)=0$,则 $h\circ g$ 在有理点取1、无理点取0,正好是狄利克雷函数,黎曼不可积。这说明黎曼可积函数经过一个不连续函数的复合,可积性会被完全破坏。类似的组装例子非常多,多试几次,你对各种“性质在复合下的表现”会特别敏感。

4. 实战:这些反例在考试和科研里的使用姿势

4.1 考研与期末高频反例速查

我在辅导考研学生时发现,数分真题里“反例题”的出镜率极高,而且出题方式高度套路化。下面这张表基本覆盖了常见题型,建议收藏:

考点常见错误直觉正确结论对应反例/技巧
连续与可导连续就可导处处连续处处不可导存在魏尔施特拉斯函数
导数与连续性可导则导函数连续导函数可以不连续$x^2\sin\frac1x$
单调性与导数一点导数大于0则邻域单调一点导数大于0推不出邻域单调$x+2x^2\sin\frac1{x^2}$
有界与可积有界必可积有界但不连续点太多则不可积狄利克雷函数
积分与极限逐点收敛就可换序需要一致收敛等条件$nx(1-x^2)^n$
级数收敛通项趋于0则收敛通项趋于0只是必要条件调和级数
一致连续连续就一致连续开区间上的连续函数不一定一致连续$f(x)=\frac1x$ 于 $(0,1)$
黎曼可积的复合可积函数复合后可积外函数不连续时可能不可积$h\circ g=\text{狄利克雷函数}$

上面第三行值得多说一句:$f(x)=x+2x^2\sin\frac1{x^2}$ 在 $x=0$ 处可导,且 $f'(0)=1$,但在任意靠近0的小邻域内,导数都有正有负且无界振荡,所以函数在0附近不单调。这个反例专门用来击碎“导数大于0就单调递增”的直觉。不过要强调:如果导数在整个区间上处处大于0,那确实单调递增,这是中值定理保证的;但“在某一点导数大于0”和“在邻域内单调”之间差了整整一个一致性的鸿沟。

4.2 做题时最容易掉进去的反例陷阱

第一个陷阱是“默认函数很光滑”。很多同学做选择题时,一看到“函数连续”就在脑子里画一条圆滑的抛物线,这等于主动放弃了反例意识。正确姿势是:每遇到一个命题,先别急着画图,先问一句“有没有一个函数能推翻它”。一旦你习惯了这种反问,很多看似复杂的证明题其实三秒就能找到突破点。

第二个陷阱是“用求导法则算分段点导数”。比如 $x^2\sin\frac1x$ 在 $x=0$ 处的导数,很多学生直接对 $x^2\sin\frac1x$ 求导再令 $x=0$,发现“导函数无定义”,就以为原函数不可导。正确做法是在分段点用导数定义,因为求导法则的前提是“在某个邻域内可导且有合适的表达式”,而分段点往往是表达式的断裂处。

第三个陷阱是“忽略反例的条件边界”。同样是函数列 $\frac{\sin(nx)}{\sqrt{n}}$,很多人记住“一致收敛但导数不收敛”这个结论后,就到处滥用,却忽略了定义域、连续性、可导性等条件。反例不是万能钥匙,它只在和它匹配的命题框架下才有杀伤力。

第四个陷阱是“背答案背错参数”。我见过不少学生把魏尔施特拉斯函数的参数背串了,或者把 $x\sin\frac1x$ 和 $x^2\sin\frac1x$ 的性质搞混。建议不要死记硬背,而是亲手画一画、用数值算一算,把“哪个函数在0附近长什么样”变成肌肉记忆,到考场上才不会被细节绊倒。

4.3 三步自定义一个新反例

如果你不光想应付考试,还想真的掌握“造反例”这个技能,我建议按下面三步走。

第一步,把要推翻的命题拆干净。写出所有条件:连续?可导?可积?一致连续?定义域是开还是闭?极限过程是什么?哪个条件让你觉得命题成立,它就可能是关键条件。绝大多数反例都是在“去掉一个关键条件”之后产生的。

第二步,选一个“坏核心”。想破坏连续性,就选有理数/无理数的二分法;想破坏可导性,就选 $\sin\frac1x$ 的震荡;想破坏可积性,就选不连续点太密的狄利克雷型函数;想破坏一致收敛,就选一个“尖峰越来越窄、越来越高”的函数列。把核心定下来,反例的骨架就有了。

第三步,用系数和区间“打磨包装”。乘上 $x^k$ 控制光滑度,限制在合适的区间上保证有界,必要时做平移、伸缩、组合,让反例正好满足“题目允许但不破坏坏性质”的平衡。打磨几次之后,你就能写出一个既合法又致命的反例。

5. 反例之外:别把反例学成“背模板”

5.1 反例不是“反数学”,它推动定理走向成熟

很多初学者对反例有排斥心理,觉得它们是故意找茬。但历史恰恰相反,几乎所有深刻的理论突破,都是从“旧定理被反例推翻”开始的。黎曼函数暴露出黎曼积分的局限,才促使勒贝格去建立一套更强大的积分理论;魏尔施特拉斯函数打破“连续函数几乎处处可导”的错误期望,反而推动了后来对单调函数、有界变差函数的研究,还意外地点燃了分形几何和布朗运动的火种。

所以在学习时,不妨把每个反例当成一次“理论升级的预告”。当你遇到一个反例,立刻想想:它到底戳中了哪个假设的软肋?如果把这个假设改成什么,就能把这个反例吸收进来?这样思考,反例就不再是孤立的“怪胎”,而是整个数分理论链条里不可或缺的一环。

5.2 我踩过的几个坑,都写在这里

我第一次给本科生讲黎曼函数时,自己踩了个大坑:想当然地认为“不连续点可数就可积”在所有情况下都成立,结果被一个有界黎曼不可积函数反将一军。后来才彻底明白,“不连续点集是零测集”才是黎曼可积的充要条件,可数集只是零测集的一种特殊情况。自此我养成了一个习惯:任何关于“可积性”的结论,都下意识地想一下“不连续点到底有多少、有多密”。

另一个坑是只记结论不记推导过程。早些年我参加讨论班,有一次需要现场举一个“可导但导函数不连续”的例子,我张嘴就是 $x^2\sin\frac1x$,但被追问“为什么在0处可导”时,竟一时接不上来。理论上学过和能当场说清楚是两回事。现在我的建议是:每个重要反例,至少亲手算一遍关键验证,尤其是分段点处的定义、差商估计、一致收敛性这三个关键步骤。

5.3 快速自查清单:证明前先问自己五个问题

最后给你一个我写论文和做题时都在用的“反例自查清单”。每当你觉得自己证完了,或者准备对一个命题点头时,按顺序问自己下面五个问题:

序号问题脑子里该弹出的反例
1这个函数连续吗?在哪些点连续?黎曼函数、狄利克雷函数
2这个函数可导吗?导函数连续吗?$x\sin\frac1x$、$x^2\sin\frac1x$
3函数可积吗?一致连续吗?狄利克雷函数、$\frac1x$ 于 $(0,1)$
4极限能和积分/导数交换吗?$nx(1-x^2)^n$、$\frac{\sin(nx)}{\sqrt n}$
5级数/函数列收敛的一致吗?$x^n$ 于 $[0,1]$、交错调和级数

把这张表背下来,再做几道配套习题,你对反例的敏感度会明显上升。说白了,反例并不难,难的是在“该想起它的时候”能想起它。这张清单就是帮你建立这种“条件反射”的捷径。

我个人这几年最大的体会是:数学分析里那些反例,根本没有一个是真的“病态”,它们只是比你的直觉更诚实。每次被反例打败,都不是数学出了问题,而是你的直觉需要再升级一版。与其害怕它们,不如把它们当成一套“边界探针”——每探到一次边界,你离真正理解数分也就近了一步。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询