1. 一个反例摆上台面:导数等于零的位置,凭什么可能什么都不是
带过几轮答疑之后,我发现一个特别稳定的现象:凡是卡在极值点和驻点这两个概念上的,十有八九不是不会求导、不会解方程,而是边界没划清。有人算出f'(x)=0的解,直接往答题纸上写“极值点为 x=1”;也有人看到某点导数不为零,就断言“那它肯定不是极值点”。这两种错法方向完全相反,但根子是同一个:把“切线水平”和“函数值在附近取到最大或最小”当成了同一件事。
这篇就把这两个东西彻底拆开。它们各自定义在什么对象上、谁是谁的什么条件、判断极值到底有几套工具、每套工具在什么地方会失灵,以及到了二元函数和真实的优化问题里,这个区别会变得多要命。不管你是刚学导数应用、正在被选择题折磨,还是已经写代码调模型、需要判断某个收敛点到底靠不靠谱,这套辨析都用得上。基础的部分我会讲得足够细,进阶的部分也不会只丢结论。
1.1 x³在原点:把两个概念撕开的那个瞬间
先看三个函数,把它们并排放在一起,关系立刻就清楚了。
第一个,f(x) = x³。求导得f'(x) = 3x²,代入 x=0 得f'(0) = 0。按定义,0 是这个函数的驻点,这点没争议。但你看函数值:x<0 时 f(x)<0,x>0 时 f(x)>0,而 f(0)=0。在 0 的任何一个邻域里,都既有函数值比 f(0) 小的点,也有比它大的点。所以 0 既不是局部最大,也不是局部最小,它不是极值点。
第二个,f(x) = x⁴。同样f'(0)=0,0 也是驻点。但这次 f(x)≥0 恒成立,f(0)=0 就是最小值,所以 0 是极小值点。同一个位置、同样的导数为零,结论却完全不同。
第三个,f(x) = |x|。这个函数在 0 处根本不可导,左导数是 -1,右导数是 1,f'(0)不存在。可它明明白白在 0 处取到最小值,0 是极小值点,却不是驻点。
三个例子一摆,两件事就锁死了:驻点不一定是极值点(x³),极值点也不一定是驻点(|x|)。它们之间不是等号,甚至不是单向的包含关系——只有在“可导”这个附加前提下,才存在一条单向的箭头。
1.2 一个盯函数值,一个盯切线斜率:定义层面的根本分歧
为什么会出现这种情况?因为这两个概念建立在完全不同的信息上。
极值点的定义压根不涉及导数。它的原始表述是:设函数 f 在点 x₀ 的某个邻域内有定义,如果存在 δ>0,使得对这个邻域内(定义域内)的所有 x,都有f(x) ≤ f(x₀),那么 x₀ 就是极大值点;不等号反向则是极小值点。整套定义只比较函数值的大小,跟曲线光不光滑、有没有切线,一点关系都没有。这就是为什么|x|这种带尖角的函数照样能有极值点。
驻点的定义则完全依赖导数:f 在 x₀ 处可导,且f'(x₀) = 0。几何上,这意味着该点处切线是水平的;物理上,如果你把 f 看成位移、x 看成时间,那这一点就是瞬时速度为零的瞬间——物体“停了一下”,但停下来不等于到达了最高点或最低点,它可能只是在上坡途中匀速了一下又开始加速。
一个只看函数值的高低,一个只看切线的斜率。信息源不同,结论自然不能互相搬运。这是理解全部后续内容的钥匙。
1.3 包含关系与“必要不充分”的正确读法
把上面的分析整理成一句准确的话:若 f 在 x₀ 处可导,且 x₀ 是极值点,则 f'(x₀)=0。这就是费马引理,它给出的是“极值点 ⇒ 驻点”这一条单向箭头。
反过来读是不成立的:f'(x₀)=0推不出 x₀ 是极值点。x³ 就是活生生的反例。
所以“驻点是极值点的必要条件”这句话,必须加上“在可导点上”这个前提才严谨。一旦允许不可导点存在,极值点完全可以不落在驻点集合里,包含关系就破了。很多人背结论时把前提吞掉了,做题时就会在|x|、x^(2/3)这类函数上翻车。
还有一层容易被忽略:极值点说的是横坐标 x₀,极值说的是函数值 f(x₀)。题目问“极值点”你答一个数,问“极值”你答一个数,问“极值点的坐标”你才写(x₀, f(x₀))这样的有序对。这个区分在填空和解答题里都是实打实的扣分点,我见过不止一个人明明算对了却被判错,就是因为答非所问。
2. 把四个容易混的点摆在一起对表:极值点、驻点、零点、拐点
单独讲一个概念容易懂,四个一起上就容易糊。这一节我把它们并列,用一张表把边界钉死,再补三个最高频的误判场景。
2.1 极值点的严格定义,以及“邻域”这两个字的分量
前面提了定义,这里要把“邻域”这个词单独拎出来说,因为它是极值“局部性”的唯一来源。
极值从来不是全局概念。一个函数可以有无穷多个极大值点,其中某些极大值甚至比另一些极小值还小——这听起来别扭,但完全合法。比如一个上下震荡越来越剧烈的函数,第一个极大值可能是 10,第十个极大值可能是 0.1,而中间某个极小值是 9。这不矛盾,因为每个极值点只跟它自己附近那一小圈比大小。
由此引出一个常见边界情况:常值函数。f(x)=c在整条实轴上,每一点都满足“邻域内所有函数值都不大于也不小于它”,所以每一点既是极大值点又是极小值点。这个结论很多教材不强调,但考试真考过,遇到时不必怀疑自己。
另一个细节:邻域是相对于定义域取的。如果函数定义在[0, 5]上,那么 x=0 这个端点,它的“邻域内”只有右侧的部分。这时候端点能不能算极值点,不同教材的处理不完全一致。国内主流教材通常要求极值点在区间内部讨论,端点的最值问题归到“最大值最小值”那一套里去,不叫极值。做题时按你所用教材的口径来,别在这一点上跟阅卷老师较劲。
2.2 驻点的判定只在可导区间内成立
驻点的门槛其实比很多人想的要高:它要求函数在该点可导,而且导数等于零。两个条件缺一不可。
这就排除掉了一大批点。|x|在 0 处不可导,即便你想说“它左右导数在某种意义上抵消了”,那也不是驻点。x^(1/3)在 0 处导数为无穷大(不存在),也不是驻点。只有像x²、x³、sin x在 0 处这种老老实实有有限导数且为零的,才算。
顺带说一个实际问题:求驻点的过程本质上是解方程f'(x)=0。这个方程在超越函数里经常没有解析解,比如x = e^(-x)变形后是x·e^x = 1,只能用朗伯 W 函数或者数值方法。工程上遇到这种情况,二分法、牛顿迭代都是常规操作。我后面会讲数值验证的习惯,这里先埋个伏笔。
2.3 四类点的对照表与三个高频误判
| 概念 | 判定依据 | 指的是什么 | 与导数的关系 |
|---|---|---|---|
| 极值点 | 邻域内函数值的大小比较 | 横坐标 x₀ | 可导时必有 f'(x₀)=0,反之不然 |
| 极值 | 函数值本身 | 数值 f(x₀) | 无直接关系 |
| 驻点 | f'(x₀)=0 且该点可导 | 横坐标 x₀ | 定义即依赖导数 |
| 零点 | f(x₀)=0 | 横坐标 x₀ | 与导数无必然联系 |
| 拐点 | 曲线凹凸性发生改变 | 曲线上的点 (x₀, f(x₀)) | 常见于 f''(x₀)=0 或 f''不存在处 |
表格里最容易被忽略的是最后一行:拐点是一个坐标点,而极值点和驻点都是横坐标。这个形式上的差异不是文字游戏,它反映了拐点描述的是曲线的弯曲方向,而极值描述的是函数值的高低。
三个高频误判,我按出现频率排一下:
误判一:把驻点直接当极值点。这是最常见的,x³ 的原点是标准答案级的反例。出现这种错误的深层原因,是把“必要条件”当成了“充要条件”。
误判二:把极值点直接当驻点。|x|是最简单的反例。这类错误的根源是只盯着“可导函数”做题,形成路径依赖,一旦题目里混进不可导点就完全想不到要单独检查。
误判三:把拐点当极值点。x³ 的原点同时是驻点和拐点,但它不是极值点。反过来,x⁴的原点是极值点也是驻点,但不是拐点——因为两侧都是凹的,凹凸性没变。这两个性质在三次函数上经常同时出现,混淆率很高。
3. 判定极值的三套工具,以及每一套在什么情况下会失灵
求出候选点只是第一步,判断它到底是不是极值点才是正题。手上有三套工具,各有各的适用区间,也各有各的失灵条件。搞清楚“什么时候不该用它”,比记住公式本身更重要。
3.1 第一充分条件:看一阶导数变号,最稳但最费事
第一充分条件的表述是:设 f 在 x₀ 的某去心邻域内可导,在 x₀ 处连续(注意这里只要求连续,不要求可导)。那么看f'(x)在 x₀ 左右两侧的符号:
- 左侧为正、右侧为负,即导数由正变负,x₀ 是极大值点
- 左侧为负、右侧为正,即导数由负变正,x₀ 是极小值点
- 两侧同号,符号没变,x₀ 不是极值点
口诀是“左正右负极大,左负右正极小,不变号不是”。
这套方法的优点是普适性极强。它不要求二阶可导,甚至不要求 x₀ 处可导,只要连续就行。所以|x|这种点,用第一充分条件能干净利落地判出来:左侧导数为 -1,右侧导数为 +1,由负变正,极小值点。
缺点也很明显:你得逐段判断导数的符号,遇到导数表达式复杂(比如含多个因式乘积)的时候,符号分析本身就是个体力活。而且它只能告诉你“是不是极值点”,不能直接给出极值的具体数值,还得代回原函数算。
实操上有个提效技巧:把f'(x)因式分解,画出符号表。每个因式的零点把数轴切成若干段,逐段定号,比直接硬判快得多。这个方法在解不等式、判断单调性时也是通用的,值得养成习惯。
3.2 第二充分条件:二阶导数一算就出结果,但 f''=0 时直接哑火
第二充分条件:设f'(x₀)=0,且f''(x₀)存在。
- 若
f''(x₀) < 0,x₀ 是极大值点 - 若
f''(x₀) > 0,x₀ 是极小值点
背后的道理不难理解。f''是f'的变化率。在 x₀ 处f'本身是零,如果f'' < 0,说明f'正在下降,那么它在 x₀ 左边是正的、右边是负的——正好符合第一充分条件里极大值的判据。反过来f'' > 0就对应极小值。
用开车的类比:一阶导是速度,二阶导是加速度。速度为零说明车停了,加速度为负说明它马上要往后倒——那它刚才到达的就是最远点,对应极大值。
这套方法的优势是快。求出二阶导、代个值、看正负,三步搞定,不用分析区间符号。考试里绝大多数可导函数的极值判断题,用这一招就够了。
但它有个致命短板:f''(x₀) = 0时,它什么结论都给不出来。既不能说“不是极值点”,也不能说“是极值点”,只能说“此路不通”。x³、x⁴、-x⁴在原点的二阶导数全是零,但结论分别是“非极值”“极小”“极大”,三种情况全占齐了。这时候必须退回第一充分条件,或者上高阶判别法。
3.3 高阶导数判别法与一张失效场景清单
当前面几阶导数都为零时,用高阶判别法:设 f 在 x₀ 的某邻域内有 n 阶导数,且
f'(x₀) = f''(x₀) = ... = f^(n-1)(x₀) = 0,而 f^(n)(x₀) ≠ 0 (n ≥ 2)那么:
- n 为偶数:x₀ 是极值点。
f^(n)(x₀) < 0是极大值点,> 0是极小值点 - n 为奇数:x₀不是极值点
这条规则的直观解释是:最低阶非零导数的阶数决定了函数在这一点附近的“形状”。偶数阶对应的是抛物线型(开口向上或向下),有极值;奇数阶对应的是三次型这样的“穿越型”,函数值在两侧分居两端,没有极值。x³ 的最低非零导数是三阶(f'''(0)=6),奇数,非极值;x⁴ 的最低非零导数是四阶(f⁗(0)=24),偶数且为正,极小值。
把三套工具的边界整理成一张表,遇到题先查表,能省掉大量试错:
| 情形 | 第二充分条件是否可用 | 正确处理方式 |
|---|---|---|
f''(x₀) ≠ 0 | 可用,直接出结论 | 看正负号即可 |
f''(x₀) = 0但三阶不为零 | 失效 | 高阶判别:奇数阶,非极值点(如 x³) |
f''=f'''=0而四阶不为零 | 失效 | 高阶判别:偶数阶,是极值点(如 x⁴) |
| 该点导数不存在但函数连续 | 不适用 | 回到第一充分条件或直接用定义(如 ` |
| 区间端点 | 两边不完整,不适用 | 直接比较端点与内部候选点的函数值 |
提示:高阶判别法在国内不少教材里是选学内容,考试如果不考,遇到 f''=0 的情况老老实实退回第一充分条件分析符号,一样能得出正确结论,只是慢一点,不会丢分。
4. 最容易漏掉的两类极值点:不可导点和区间端点
前面反复强调过,极值点的定义跟可导性无关。这意味着在“求极值点”这类题里,除了老老实实解f'(x)=0,还必须单独扫一遍导数不存在的点和定义域边界。这两处是失分的重灾区。
4.1 |x|在原点:是极值点但不是驻点,这类点怎么系统找
f(x)=|x|在 0 处不可导,但 0 是极小值点。这个例子太经典,以至于很多人以为“记住这个特例就行了”。实际上同类型的点一大把,得有一套找法。
导数不存在的常见形态有这么几类:
- 尖点型:
|x|、|x-a|,左右导数存在但不相等 - 垂直切线型:
x^(2/3)、x^(1/3),导数趋于无穷大 - 间断型:本身不连续,这时候极值讨论要格外小心,通常不在常规考核范围内
x^(2/3)值得单独说一下。它在 x=0 处导数不存在(形式上有(2/3)x^(-1/3),趋于无穷),但 x=0 是极小值点,函数图像在那里有个尖,像字母 V 的底。而x^(1/3)在 0 处导数同样不存在,可它是严格单调递增的,0 不是极值点。同样是“不可导点”,一个是一个不是,必须逐个验证,不能一律当极值点处理。
系统做法是:先把定义域内所有f'(x)=0的点和f'(x)不存在的点全部列出来,形成一个完整候选集,然后对每个候选点单独判定。判定时优先用第一充分条件,因为它对可导性没有要求。
4.2 闭区间求最值,端点是必查项
极值和最值是两个概念。极值是局部的,最值是全局的。求闭区间[a,b]上的最大值最小值,标准流程是:找出开区间(a,b)内所有驻点和不可导点,算出它们的函数值,再算出两个端点的函数值,全部放在一起比大小。
最典型的翻车场景是函数在区间内单调。比如f(x) = x在[0,1]上,导数恒为 1,没有驻点。如果只按“求驻点”的流程走,会得到“没有极值点”的结论,然后卡在那里。但最大值是 f(1)=1,最小值是 f(0)=0,答案明明就在端点上。
还有一种更隐蔽的情况:内部有驻点,但最值仍在端点。比如f(x) = x³ - 3x在[0, 2]上,内部驻点 x=1 是极小值点,f(1)=-2;端点 f(0)=0,f(2)=2。这里最小值确实在内部取得。但如果区间改成[-2, 0.5],情况就变了,需要重新算。没有捷径,把候选点全列全,逐个代值,是最保险的办法。
4.3 一套可以照着走的完整求解流程
把前面所有内容串起来,求解极值/最值可以固定成六步:
- 确定定义域。这一步不能跳。很多函数的定义域不是全体实数,比如含根号、含对数、分母不为零的约束,会直接影响哪些点算是内部点、哪些算边界。
- 求一阶导数 f'(x),尽量因式分解。
- 收集候选点:解
f'(x)=0得到驻点;找出定义域内f'(x)不存在的点。两类都放进候选集。 - 逐个判定:能用第二充分条件的用第二充分条件,
f''=0的退回第一充分条件分析符号,不可导点直接用定义或第一充分条件。 - 若求闭区间最值,把端点的函数值补进比较列表。
- 验证:画个草图,或者在每个极值点附近取一两个特殊值代进去,确认大小关系跟结论一致。
这套流程看起来笨,但它是唯一能覆盖全部情况的。我在实际做题和帮别人排查的时候,绝大多数错误都能归到“某一步被跳过”上——最常见的是第 3 步只找了驻点,和第 5 步忘了端点。
5. 到了二元函数,驻点和极值点分得更开
一元的情形搞清楚之后,往多元推一步,会发现问题被放大了一整圈。二元函数里,驻点不但不一定极值点,而且在某种意义上是“多数情况都不是”——这个结论后面会讲。
5.1 驻点条件与鞍点的直观图像
对z = f(x,y),驻点的定义是偏导同时为零:
f_x(x₀,y₀) = 0 且 f_y(x₀,y₀) = 0几何意义是:在这个点上,曲面有一个水平的切平面。跟一元函数的水平切线是同一个意思,只是从一条线换成了一个面。
但“切平面水平”离“曲面在此处取到局部最高或最低”还差得远。最典型的反例是双曲抛物面z = x² - y²,在原点两个偏导都是零,是驻点。可你沿着 x 轴看,z = x²是个开口向上的抛物线,原点是极小;沿着 y 轴看,z = -y²是开口向下的抛物线,原点是极大。两个方向结论相反,整个曲面在原点的形状像马鞍——沿着马背方向往上,沿着马肚子方向往下。这种点叫鞍点,是驻点但不是极值点。
鞍点这个词很形象,建议脑子里就存着这个马鞍的图像,比背判据管用。
5.2 AC-B² 判别法的完整用法与它的几何含义
二元函数的极值判别,标准工具是二阶偏导构成的判别式。记
A = f_xx(x₀,y₀) B = f_xy(x₀,y₀) C = f_yy(x₀,y₀) Δ = AC - B²判别规则:
| 条件 | 结论 |
|---|---|
| Δ > 0 且 A < 0 | 极大值点 |
| Δ > 0 且 A > 0 | 极小值点 |
| Δ < 0 | 不是极值点(鞍点) |
| Δ = 0 | 无法判定,需另行分析 |
为什么是这个形式?简单说一下。二元函数在驻点附近的二阶泰勒展开,主项是一个二次型A·h² + 2B·hk + C·k²。这个二次型对应一个 2×2 对称矩阵,Δ 就是它的行列式,A 是左上角元素。行列式大于零说明两个特征值同号,二次型正定或负定,曲面在该点附近像一个碗(开口向上或向下),有极值;行列式小于零说明特征值异号,二次型不定,曲面是马鞍形,没有极值。A 的符号则告诉你碗口朝哪边。
记忆上有个取巧的办法:Δ>0 时看 A,跟一元函数的f''判据完全对应;Δ<0 一律是鞍点,不用管 A。这套对应关系不是巧合,一元情形本来就是二元情形在 B=C=0 时的退化版本。
5.3 判别式等于零时怎么办:三个典型算例
Δ=0 是最麻烦的情况,判据完全失效,必须回到定义——直接比较邻域内的函数值。下面三个例子覆盖了三种不同结局,值得逐个过一遍。
算例一:f(x,y) = x² + y⁴,原点。A=2,B=0,C=12y²,在原点 C=0,所以 Δ=0。判据失效。但观察函数本身:x²≥0,y⁴≥0,所以 f(x,y)≥0=f(0,0) 恒成立。原点是极小值点。
算例二:f(x,y) = x² + y³,原点。同样 A=2,B=0,C=6y=0,Δ=0。这次沿 x 轴看,f(x,0)=x²,原点是极小;沿 y 轴看,f(0,y)=y³,在原点两侧变号。既然存在一条路径让函数值在两侧分居两端,那原点就不是极值点。
算例三:f(x,y) = x² - y⁴,原点。A=2,B=0,C=-12y²=0,Δ=0。沿 x 轴x²,极小;沿 y 轴-y⁴,极大。两个方向一升一降,是鞍点,不是极值点。
三个例子的函数形式只差一个符号和一个指数,结论却全不一样。这就是 Δ=0 必须回到定义的真正原因:二阶信息在这里不够用了,得看更高阶或者直接看函数的整体结构。实操中我的做法是,沿着坐标轴方向分别切片,看每个切片上的一元函数在原点是什么性质。只要有一个方向不是极值,或者两个方向一个极大一个极小,立刻就能定性。
6. 落到实际问题上:优化里为什么必须区分这两者
概念辨析做到这里,如果只停在做题层面,多少有点浪费。这套区分在真实的数值优化里是核心问题,而且结论相当反直觉。
6.1 损失函数的地形图上,驻点只是一个“平地”
训练一个模型,本质上是找损失函数的最小值。梯度下降的每一步都沿着梯度的反方向走,梯度为零的地方走不动了,算法就停下来。这个“走不动”的点,按定义就是驻点。
问题在于,驻点可能是局部极小、可能是局部极大、可能是鞍点。算法停在局部极大上听起来荒谬,但在高维空间里,局部极大同样是梯度为零的点,从数学上它和局部极小没有本质区别,只是 Hessian 矩阵的特征值全为负而已。如果初始化恰好落在附近,或者数值误差把点推到了那里,算法一样会停。
更要命的是鞍点。鞍点在某些方向上是“下坡”,在另一些方向上是“上坡”。如果算法只沿着梯度方向走,走到鞍点附近梯度趋于零,步长变小,看起来像是收敛了,实际上离真正的极小值还差得远。这是早期优化算法经常踩的坑。
6.2 高维空间里,驻点绝大多数不是极值点
这一点值得单独强调,因为它的结论和直觉相反。
考虑 n 维空间里的一个驻点,该点的 Hessian 矩阵是一个 n×n 对称矩阵,有 n 个实特征值。这个点是局部极小,当且仅当所有特征值都为正;是局部极大,当且仅当所有特征值都为负;只要特征值有正有负,就是鞍点。
在随机或者一般的非凸函数上,n 个特征值恰好全部同号的概率有多低?可以粗略想象成抛 n 次硬币全部朝上。n=2 时概率还有四分之一,n=100 的时候基本可以忽略。所以维度一高,几乎所有的驻点都是鞍点,局部极小的数量相比之下少得可怜。
这个现象解释了一件让很多人困惑的事:深度网络动辄上百万参数,损失函数高度非凸,理论上局部极小应该遍地都是,为什么训练还能收敛到一个效果不错的解?一部分原因就是,那些“看起来收敛了”的点,很多是鞍点而非局部极小,而鞍点附近总有下降方向,算法稍微扰动一下就能继续往下走。真正卡住的坏局部极小,在参数空间里反而没那么密集。
理解这一点,对调参有实际指导意义。如果你发现损失早早停滞,梯度范数很小但效果不理想,先别急着认定“陷入了局部最优”,它很可能是鞍点。加一点扰动、换一个优化器、调整学习率的衰减策略,往往就能继续下降。反过来,如果确实是局部极小,再怎么调学习率也出不来,这时候才需要考虑换初始化或者改网络结构。
6.3 数值验证的几个习惯动作
理论归理论,实际操作中我还是习惯做几件事来兜底。
一是解析和数值对照。手推出驻点坐标之后,写几行代码代回原函数,在候选点周围随机撒点,看函数值是不是真的更大或更小。这一步能抓出绝大多数符号错误和计算错误。
二是切片观察。对多元函数,固定除一个变量外的所有变量,退化成若干个一元函数,分别在候选点附近画一下。哪个方向不对,一眼就能看出来。这个方法在 Δ=0 判断不了的时候尤其好用。
三是留意边界。很多优化问题的变量是有约束的,比如概率必须非负、权重有上界。带约束的极值点不一定在梯度为零的地方,可能在边界上。这时候需要拉格朗日乘数法或者直接做变量替换,把约束吸收掉。只盯着无约束驻点,很容易得出一个根本不可行的解。
7. 我做这类判断时的一些个人习惯
最后分享几个我自己的操作习惯,都是踩过坑之后慢慢养成的。
先画图再动笔。哪怕题目没要求画图,我也会在草稿纸上大致描一下函数形状。单调性、奇偶性、有没有渐近线、在几个关键点的值,画出来之后很多结论是自明的。x³ 和 x⁴ 在原点的区别,光看公式不如看图来得直接。这一步花的时间,通常能从后面的反复检查里省回来。
定义域永远第一个写。我见过太多人上来就求导,求完发现有个根号下的负值、有个分母为零的点,整段推导全废。定义域写在最前面,后面每一步的讨论范围都有依据,也能提醒自己哪些点需要单独检查。
用特殊值验伪比验真快。当你怀疑某个点不是极值点,只需要找到一条路径或者两个点,让函数值一高一低,就足以否定。反之要证明它是极值点,得说明整个邻域内都满足不等式,难度高得多。所以做题策略上,先找反例,找不到再认真证。这个思路在选择题里尤其管用。
二阶条件失效不是终点,是提示。很多人看到f''=0就慌了,觉得题目出错了。其实它只是在告诉你“这一层信息不够,往下挖一层”。养成这种心态,遇到高阶导数、遇到 Δ=0、遇到各种判据失灵的情况,都不会卡住。
注意:不同教材对“极值点是否包含端点”“拐点是否要求二阶导为零”这些细节的处理不完全一致。复习和考试时以你所用教材和考纲为准,本文讲的是主流微积分教材的通用口径。