
“老师这道分段函数在分界点处我算导函数的左右极限都是 1为什么标准答案还说要用定义重新算一遍”这是我被问过无数次的问题。提问的学生通常已经掌握了“左导数”和“右导数”的公式也明白“可导的充要条件是左右导数存在且相等”但一遇到分段函数他们下意识就想求导函数的极限把“导函数的左右极限”和“函数的左右导数”当成一回事。先说结论这两个东西不是一回事最多只能说“有时候相等”而且这种相等还带有额外的前提条件。把它们混为一谈是高等数学、数学分析和考研数学里最常见的一类概念性丢分点。这篇文章就把这两个概念从头到尾拆开揉碎讲清楚内容包括定义对比、理论关系、经典反例、做题判断流程以及我这些年实际教学中见到的各种翻车现场。不管你是正在学微积分的大学生还是准备考研、竞赛的备考生这篇文章都值得花十分钟认真读完。1. 先搞清楚左右导数与导函数左右极限分别是什么1.1 左右导数考察的是“函数本身的变化率”先看定义。设函数 (f(x)) 在 (xa) 的某去心邻域内有定义那么 (f(x)) 在点 (a) 处的左导数定义为[ f{-}(a)\lim{x\to a^{-}}\frac{f(x)-f(a)}{x-a} ]或者等价地写成[ f{-}(a)\lim{h\to 0^{-}}\frac{f(ah)-f(a)}{h} ]右导数同理[ f{}(a)\lim{x\to a^{}}\frac{f(x)-f(a)}{x-a} \lim_{h\to 0^{}}\frac{f(ah)-f(a)}{h} ]注意一个关键细节左导数公式里分母的 (x-a) 是负的分子是 (f(x)-f(a))。它的本质是从 (a) 的左侧慢慢靠近 (a) 时函数值相对于自变量的平均变化率趋于什么。右导数就是换一个方向再问一遍。比如最简单的 (f(x)|x|) 在 (x0) 处左导数(\lim_{x\to 0^{-}}\frac{|x|-0}{x-0}\lim_{x\to 0^{-}}\frac{-x}{x}-1)右导数(\lim_{x\to 0^{}}\frac{|x|-0}{x-0}\lim_{x\to 0^{}}\frac{x}{x}1)左右导数都存在但不相等所以 (f(x)|x|) 在 (x0) 处不可导。这个过程与“导函数”没有任何关系我们从头到尾只用了 (f(x)) 这一个函数的表达式。1.2 导函数的左右极限考察的是“导数值的变化趋势”再看第二个概念。假设 (f(x)) 在 (xa) 的某个去心邻域内都是可导的那么在这个去心邻域内(f(x)) 本身就是一个新的函数。我们问的是[ \lim_{x\to a^{-}}f(x),\qquad \lim_{x\to a^{}}f(x) ]它们分别叫导函数在 (a) 点处的左极限和右极限。注意这里有一个本质区别左右导数问的是“(f(x)) 在 (a) 这一点附近的割线斜率极限”而导函数左右极限问的是“当自变量靠近 (a) 时(f(x)) 这个函数的值往哪里跑”。用大白话说左右导数站在 (xa) 这一点看函数从左边或右边过来的瞬时变化率。导函数左右极限先算出旁边所有点的瞬时变化率再看这些瞬时变化率在靠近 (a) 时是不是有一个确定趋势。一个是“原函数的性质”另一个是“导函数的性质”。名字只差几个字考察对象其实差了一层。1.3 两个概念的三组关键区别为了把这两个概念区分开我习惯用一张对比表给学生看。你可以在复习时把这张表抄在笔记本上比较维度函数的左右导数导函数的左右极限考察对象原函数 (f(x)) 在 (a) 点的变化率导函数 (f(x)) 在靠近 (a) 时的取值趋势是否需要 (f(x)) 在 (a) 点有定义必须且差商公式中要用到 (f(a))不需要只需去心邻域内可导几何含义左半平面、右半平面上割线斜率的极限导数函数曲线在 (a) 附近左、右两侧的高度趋势可导性的判定作用左右导数存在且相等 (\Leftrightarrow) 可导极限存在不能直接推出可导还需要额外条件与“可导”的关系直接决定可导性只能作为辅助判断手段很多教材和老师在上课时会直接说“导函数极限存在就可以推出该点可导”但这句话是有前提的而且把这个前提忽略掉正是导致大量错误的根源。下一节我就来详细说这个前提到底是什么。2. 二者到底什么关系谁可以推出谁2.1 导函数极限存在时可以推出“导数存在且等于这个极限”先说正向关系这也是很多人记住的那句“结论”。定理导数极限定理若函数 (f(x)) 在 (xa) 的某去心邻域内可导且 (f(x)) 在 (xa) 处连续又设[ \lim_{x\to a}f(x)A ]其中 (A) 为有限数则 (f(a)) 存在并且 (f(a)A)。这个定理的证明用到了拉格朗日中值定理。思路很简单对任意 (x\neq a)(f(x)) 和 (f(a)) 在以 (a) 和 (x) 为端点的区间上满足拉格朗日中值定理的条件注意这里必须用到 (f) 在 (a) 点连续但可导性本身在开区间就可以于是存在介于 (a) 与 (x) 之间的 (\xi)使得[ \frac{f(x)-f(a)}{x-a}f(\xi) ]当 (x\to a) 时这个 (\xi) 也被夹逼着趋向 (a)。于是等式左边就是 (f(a)) 的定义式等式右边由于 (\lim_{\xi\to a}f(\xi)A)自然收敛到 (A)。所以结论成立。这个定理在解题里非常有用尤其是对分段函数在分界点处的求导。比如函数在分界点两侧表达式不同而且两侧的导函数极限都为同一个值 (A)那么你就不用辛辛苦苦按定义算差商极限直接写 (f(a)A) 就行。但这里的“有用”非常容易被滥用。很多学生记住了结论却完全忽略了定理的两个前提(f(x)) 在 (a) 的去心邻域内可导(f(x)) 在 (a) 处连续。尤其是第二条经常被漏掉。如果函数在 (a) 点不连续即使导函数极限存在也不能推出 (f(a)) 存在。事实是不连续的点一定不可导所以连用定理的资格都没有。2.2 反过来不成立导数可以存在但导函数极限不存在正向关系讲完了接下来是最重要、最反直觉的结论导数存在不代表导函数极限存在。换句话说即使 (f(a)) 存在且等于某个有限值但 (\lim_{x\to a}f(x)) 可能根本不存在。这时导函数 (f(x)) 在 (a) 处没有极限也就更谈不上连续。经典反例是[ f(x) \begin{cases} x^2\sin\frac{1}{x}, x\neq 0\ 0, x0 \end{cases} ]先按定义求 (x0) 处的导数[ f(0)\lim_{x\to 0}\frac{x^2\sin\frac{1}{x}-0}{x-0} \lim_{x\to 0}x\sin\frac{1}{x}0 ]这里用到了“无穷小乘以有界函数仍是无穷小”的结论。所以 (f(x)) 在 (0) 处可导且 (f(0)0)。但是当 (x\neq 0) 时用求导法则算[ f(x)2x\sin\frac{1}{x}-\cos\frac{1}{x} ]当 (x\to 0) 时第一项 (2x\sin(1/x)) 趋于 0但第二项 (-\cos(1/x)) 会在 (-1) 和 (1) 之间来回震荡根本不趋于任何数。所以[ \lim_{x\to 0}f(x)\text{ 不存在} ]这个例子一出来两个概念的界限就彻底清楚了(f(0)) 存在不等于 (\lim_{x\to 0}f(x)) 存在。前者是原函数在一点的变化率后者是导函数在该点的极限两回事。2.3 还有一个隐藏定理导函数没有第一类间断点在这里顺便补充一个很容易被忽略但极其有用的结论叫达布定理导函数的介值性。达布定理说的是如果 (f(x)) 在区间 ([a,b]) 上可导那么 (f(x)) 在 ([a,b]) 上一定具有介值性质——也就是说导函数取到两个值之间的任意中间值。这个定理的直接推论就是导函数不可能有跳跃间断点也不可能有可去间断点。为什么因为如果 (f(x)) 在 (xa) 处有跳跃间断那意味着左极限和右极限都存在但不相等。而达布定理会强制导函数在 (a) 附近取到这两个极限值之间的所有数这跟跳跃间断的定义矛盾。反过来我们可以得到一个非常实用的判断工具如果在 (a) 的去心邻域内可导且左右导函数极限都存在但不相等那么 (f(x)) 在 (a) 处一定不可导。这就是 (|x|) 在 (0) 处不可导的另一个解释在 (x0) 时导函数恒为 (1)(x0) 时导函数恒为 (-1)左右导函数极限分别是 (1) 和 (-1)不相等所以必然不可导。这个判断工具在考试中很常用尤其是选择题和填空题。但要注意它的前提——导函数极限必须存在如果导函数极限不存在那就不能用这个办法只能回到定义。3. 用几个经典例子把这两个概念彻底拉开3.1 例子一(|x|)——导函数左右极限存在但不相等这个例子前面已经用过这里完整走一遍看看它和 (x^2\sin(1/x)) 的区别在哪。设 (f(x)|x|)则在 (x\neq 0) 时[ f(x) \begin{cases} 1, x0\ -1, x0 \end{cases} ]于是[ \lim_{x\to 0^{}}f(x)1,\qquad \lim_{x\to 0^{-}}f(x)-1 ]导函数左右极限都存在但不相等。与此同时按定义求左右导数[ f{}(0)\lim{x\to 0^{}}\frac{|x|-0}{x-0}1,\qquad f{-}(0)\lim{x\to 0^{-}}\frac{|x|-0}{x-0}-1 ]左右导数也不相等所以 (f(0)) 不存在。在这个例子里“导函数的左右极限”和“左右导数”的数值倒是正好一致左边都算出来是 (-1)右边都是 (1)但正因为两边都不相等函数不可导。这其实给了我们一个直观印象如果导函数在 (a) 点两侧的极限存在但不相等那这个函数在该点一定“折”了不可能平滑地通过。你可以想象 (|x|) 在原点有个尖角尖角的左右斜率不一致自然不存在切线。3.2 例子二(x^2\sin(1/x))——导数存在但导函数极限不存在这个例子我建议你亲手完整算一遍因为每一步都踩在一个关键概念上而且它经常作为考研或竞赛的入门题出现。函数是[ f(x) \begin{cases} x^2\sin\frac{1}{x}, x\neq 0\ 0, x0 \end{cases} ]第一步先判断连续性。当 (x\to 0) 时[ x^2\sin\frac{1}{x}\to 0 ]因为有界量乘以无穷小还是无穷小所以 (\lim_{x\to 0}f(x)0f(0))函数在 (0) 处连续。连续性是可导性的必要条件先确认这一层没有白费功夫。第二步按定义求 (f(0))[ f(0)\lim_{x\to 0}\frac{x^2\sin\frac{1}{x}-0}{x-0} \lim_{x\to 0}x\sin\frac{1}{x}0 ]这里 (x) 是无穷小(\sin(1/x)) 是有界函数乘积还是无穷小所以极限为 0。第三步求 (x\neq 0) 时的导函数[ f(x)2x\sin\frac{1}{x}-\cos\frac{1}{x} ]第四步讨论 (\lim_{x\to 0}f(x))[ 2x\sin\frac{1}{x}\to 0 ]而 (\cos(1/x)) 随着 (x\to 0) 在 ([-1,1]) 之间剧烈振荡没有极限。因此整个导函数的极限不存在。这就有意思了函数在 (0) 处可导而且导数等于 0但导函数在 (0) 处极限不存在。也就是说导函数在 (0) 处有一个“振荡型”的第二类间断点。这个例子能造出来核心技巧就是用 (\sin(1/x)) 这种“高频振荡但有界”的函数让它乘以一个低阶无穷小以后原函数变得“足够光滑”可以求导但求导之后振荡项被暴露出来导函数就在间断点处失去了极限。只要抓住这个技巧你可以自己构造出一大堆类似的例子比如[ f(x)x^3\sin\frac{1}{x^2} ]在原点的可导性和导函数极限情况会稍有不同但思路完全一样。我推荐你自己算一算比单纯看十遍例题都管用。3.3 例子三分段函数综合题——什么时候能用导函数极限再看一个更贴近考试的复杂例子[ f(x) \begin{cases} \frac{\sin x}{x}, x\neq 0\ 1, x0 \end{cases} ]这个函数定义在 ((-\infty,0)\cup(0,\infty)) 上容易让人想到它的可导性注意这里在 (x0) 处补定义 (f(0)1)而这个定义恰好让函数在 0 处连续。先按定义算导数[ f(0)\lim_{x\to 0}\frac{\frac{\sin x}{x}-1}{x-0} \lim_{x\to 0}\frac{\sin x-x}{x^2} ]用泰勒展开或者洛必达法则[ \sin xx-\frac{x^3}{6}o(x^3) ]代入得[ \frac{\sin x-x}{x^2} \frac{-\frac{x^3}{6}o(x^3)}{x^2} -\frac{x}{6}o(x)\to 0 ]所以 (f(0)0)。如果用导函数极限法会怎么样当 (x\neq 0) 时[ f(x)\frac{x\cos x-\sin x}{x^2} ]再对 (x\to 0) 取极限[ \lim_{x\to 0}\frac{x\cos x-\sin x}{x^2} ]分子分母同阶小量可以用泰勒展开[ x\cos x-\sin x x\left(1-\frac{x^2}{2}o(x^2)\right)-\left(x-\frac{x^3}{6}o(x^3)\right) -\frac{x^3}{3}o(x^3) ]除以 (x^2) 得[ -\frac{x}{3}o(x)\to 0 ]与定义算出来的结果一致。这个例子很好用因为两种方法都能算出正确答案。但你有没有发现用第二种方法时其实还隐含了一个前提导函数 (f(x)) 在 (x0) 的去心邻域内必须存在而且 (f) 在 0 处连续。这两个条件在这个例子里都满足所以结果没问题。可是如果条件不满足呢那就可能出错。下面这个例子就是专门给“迷信导函数极限法”的人准备的[ f(x) \begin{cases} x^2\sin\frac{1}{x}, x\neq 0\ 1, x0 \end{cases} ]注意这次 (f(0)) 被我改成了 1而不是 0。那函数在 0 处连不连续显然不连续因为当 (x\to 0) 时 (f(x)\to 0)但 (f(0)1)。根据“可导必连续”的逆否命题函数在 0 处必然不可导。可是如果你盲目用导函数极限法在 (x\neq 0) 时照样算出 (f(x)2x\sin(1/x)-\cos(1/x))然后发现极限不存在你可能还会纠结“是不是不可导”。其实不用纠结函数不连续直接判定不可导连算都不用算。这个例子说明足够细致的定义计算永远比“导函数极限”这个工具更根本。工具很好用但必须有前提意识。4. 做题时的判断顺序与常见错误速查4.1 我建议的四步判断流程既然这两个概念这么容易混我给自己的学生总结了一个固定流程每次遇到“判断函数在某点是否可导”的题目就严格按照这个顺序走基本不会出错。第一步先看连续性。如果 (f(x)) 在 (a) 处不连续直接判定不可导结束。如果连续进入下一步。这一步能过滤掉一大半送分题。第二步判断能否用“导数极限定理”。检查两个条件是否在 (a) 的去心邻域内可导以及 (f(x)) 在 (a) 处是否连续。如果两个条件都满足就可以尝试计算 (\lim_{x\to a}f(x))。如果这个极限存在且有限那么 (f(a)) 存在且就等于这个极限。如果这个极限不存在不能直接断言 (f(a)) 不存在只能说明需要用定义进一步判断。第三步按定义计算左右导数。当导函数极限法失效或者你不想依赖它的前提条件时就用定义直接算[ f(a)\lim_{x\to a}\frac{f(x)-f(a)}{x-a} ]如果这个极限需要区分左右就拆成左右导数分别算。两者都存在且相等才可导。第四步整合结论。左导数 右导数 某个有限数则 (f(a)) 存在否则不可导。如果第二步已经成功第三步其实可以省略但为了保险我一般建议学生至少用第二步算完后再简单核对一下连续性确保没有用错定理。这套流程不需要背太多结论每一步都有清晰的逻辑支撑而且可以套用到绝大多数教材、考研真题里。4.2 常见错误表述对照表我把这些年批改作业、答疑时遇到的典型错误汇总成一张表。你只要看到这些说法就要立刻警觉常见错误说法错在哪里 / 正确理解(f(a)\lim_{x\to a}f(x)) 恒成立错误。这个等式只在导函数极限存在且原函数在 (a) 处连续时才成立导函数在 (a) 处没定义所以原函数在 (a) 处不可导错误。(f(a)) 由差商极限定义不取决于导函数表达式的定义域导函数极限不存在所以原函数不可导错误。反例就是 (x^2\sin(1/x))导数存在但导函数极限不存在左右导数存在但不相等所以函数不可导正确。可导的充要条件就是左右导数存在且相等左右导函数极限存在但不相等所以函数不可导在去心邻域可导的前提下正确可用达布定理理解导函数在 (a) 处有跳跃间断所以函数可导错误。导函数有跳跃间断意味着左右导函数极限不相等原函数在该点不可导导函数极限存在但左右导数不相等这种情况不可能出现如果导函数极限存在的话左右导数必然相等且等于它这张表基本覆盖了初学者最常踩的坑。尤其是第二行和第三行几乎是每个学期都会撞见的问题。很多人拿着导函数表达式说“这个表达式在 (x0) 处没有定义所以函数在 0 处不可导”这是完全错误的思路。导数的存在性只由差商极限决定导函数表达式只是一个“间接工具”它的定义域不能直接决定导数的存在性。4.3 一个小技巧用图像和数值验证来建立直觉如果你跟我一样属于“光看公式记不住”的类型我强烈建议你遇到这种题目时用绘图工具把原函数和导函数的图像都画出来甚至用数值计算验证一下。例如 (x^2\sin(1/x)) 的图像在原点附近会呈现出越来越密的振荡但是振幅被 (x^2) 压得越来越小。从肉眼上看它在原点处会被“压平”所以切线斜率为 0 并不奇怪。而它的导函数 (2x\sin(1/x)-\cos(1/x)) 在原点附近则不会趋于某个值因为 (\cos(1/x)) 这个项在 (-1) 和 (1) 之间振荡。图像这东西看一遍比背三遍定义都有用。你一旦在视觉上建立起“原函数可导不等于导函数连续”的直觉以后再遇到类似题目就不容易慌了。5. 教学中的观察与备考建议5.1 为什么这么多人容易搞混根源在定义没“抠”清楚我教了这么多年数学发现一个规律凡是把“导函数左右极限”和“左右导数”搞混的学生几乎都是因为在初学阶段只背了“可导的充要条件是左右导数存在且相等”这句话但没有认真思考“左右导数”和“导函数的左右极限”在符号上有多像。比如有些教材的记号是 (f{-}(a)) 和 (\lim{x\to a^{-}}f(x))前者是“负号在下标”后者是“趋近符号在下标”写出来乍一看非常像。再加上很多题目里这两个东西算出来结果也确实一样这就更让学生觉得它们是一回事了。但我必须强调学习数学概念不能靠“看起来像”来建立逻辑关系。唯一可靠的办法是回到定义。当你下次遇到一个含糊的概念时先问自己三个问题这个符号的定义式是什么它需要的条件有哪些它的结论能用在什么范围内把这三个问题回答清楚概念就不会再混乱。5.2 值得亲手算一遍的五组例子下面这几个例子我建议你拿出草稿纸亲手算一遍并记录计算结果。它们分别对应了不同情况下的“导函数极限”和“左右导数”的关系组合(f(x)|x|)导函数左右极限存在但不相等左右导数存在但不相等不可导。(f(x)x^2\sin(1/x))补定义 (f(0)0)导数存在导函数极限不存在不可导不成立是可导的。(f(x)x^3\sin(1/x))补定义 (f(0)0)导数存在且为 0导函数极限是 0导函数在 0 处连续。(f(x) \begin{cases} x^2, x\geq 0\ -x^2, x0 \end{cases})左右导数存在且相等可导导函数左右极限也存在且相等。(f(x) \begin{cases} x, x\geq 0\ x^2, x0 \end{cases})左右导数分别是 1 和 0不可导导函数左右极限也分别是 1 和 0但不相等。算完这五组你会对“什么情况下导函数极限可以代替左右导数”“什么情况下不能代替”有一个非常立体的认识。尤其是第 2 组和第 3 组对比来看效果最好同样带 (\sin(1/x))提升一个幂次就能让导函数从“极限不存在”变成“极限存在且连续”里面的原理值得你反复体会。5.3 给自学者的一点实操心得如果你是自学没有老师在旁边纠正我建议你在做题时养成一个习惯任何用“导函数极限”直接代替“该点导数”的步骤都要在旁边标注一句“为什么可以用”。比如写[ f(0)\lim_{x\to 0}f(x)A ]这行式子后面一定要跟着写上理由“因为 (f) 在 0 处连续且在去心邻域内可导导数极限存在满足导数极限定理”。如果你写不出这个理由那说明你其实是在默认一个不必然成立的等式下次遇到变式题就可能翻车。另一个实用技巧是在考试时间紧张的情况下优先按定义算分界点处的导数。定义法虽然繁琐但它是普适的不依赖任何额外条件。而导函数极限法虽然快捷一旦遇到 (x^2\sin(1/x)) 这类反例就会让你陷入“极限不存在到底可不可导”的纠结。稳妥永远是第一位的。5.4 一句话记住这篇文章的核心如果你只带走一个信息我希望是这句话左右导数问的是“原函数在这一点的变化率”导函数左右极限问的是“导函数在靠近这一点时的取值趋势”。前者决定可导性后者只是一个在特定条件下可以辅助判断的工具。理解这一点之后再看到“导函数的左右极限与函数的左右导数是一回事吗”这种问题你就能立刻给出标准答案不是一回事导函数极限存在且原函数连续时二者相等否则就各算各的。我自己在上课时经常跟学生讲数学里最容易混淆的概念往往不是定义太复杂而是定义“看起来太像”。左右导数和导函数极限就是典型。你只要愿意多花十分钟把定义逐字逐句拆开看一遍再亲手算两个反例这个概念就能记一辈子。希望这篇文章也能帮你做到这一点。