从一个问题开始
先看一个方程:x3−3x+1=0。 它有解吗?有几个解?解是多少?
三问里,头两问能答,第三问反而答不出。 三次方程有求根公式,但要套一大串根式,算出来也没法看。好在考试要的从来不是"解是多少",而是"有没有解、有几个解"。
这就是本讲的主题:不解方程,也能把根的存在、唯一和个数说清楚。 工具是两个——一个管"有",一个管"几个"。
方程的根,就是函数的零点
把方程 f(x)=0 里的 f(x) 看成一个函数,它的根就是函数图像与 x 轴交点的横坐标。 这个横坐标有一个专门的名字,叫函数的零点。
于是三类问题都翻译成了图像问题:
- 有没有根(存在性)= 图像与 x 轴有没有交点
- 有几个根(个数)= 图像与 x 轴有几个交点
- 根在哪里(位置)= 交点在 x 轴的哪一段
导数管的正是图像的长相。 它告诉我们函数在哪上升、在哪下降、在哪拐弯,把这些拼起来,图像与 x 轴的交点个数就一目了然了。所以要研究方程的根,先去研究函数的形状。
示意图

极大值升到 x 轴上方、极小值降到 x 轴下方,曲线就被迫三次穿过 x 轴——三个交点,就是三个实根
深入理解
第一件事:先证"有"——把根逼出来
证明根存在,靠的是零点定理(也叫介值定理)。 它是这样说的:
如果函数 f(x) 在闭区间 [a,b] 上连续,且两端点的函数值异号,即 f(a)⋅f(b)<0,那么在开区间 (a,b) 内至少存在一个 ξ,使 f(ξ)=0。
这个道理是画得出来的: 函数在 [a,b] 上不间断,从 x 轴下方(或上方)的一端出发,走到 x 轴上方(或下方)的另一端,中途必然要跨过 x 轴一次。跨过的那一点,就是零点。
用它的时候有两个要点: 一是端点值必须异号,题里不会白送,得自己去试;二是函数必须在区间上连续,初等函数在定义域内都连续,这一条一般自动满足。
拿开头的 x3−3x+1=0 试一下。 设 f(x)=x3−3x+1。试端点:f(0)=1>0,f(1)=1−3+1=−1<0。两端异号,由零点定理,(0,1) 内至少有一个根。到这一步,我们只证明了"至少有一个",至于到底是不是只有一个,一句都没说——这正是零点定理的能力边界。
第二件事:再证"唯一"——用单调性锁死
零点定理只发一张"至少有"的通行证,它管不了具体个数。 要想说"有且仅有一个",还得再补一步:证明根的个数不会超过一个。这一步,交给单调性。
靠的是前几讲反复用的结论:严格单调的函数,最多只有一个零点。 理由很直白——严格递增的函数,右边的点永远比左边高,不可能在两个不同的地方同时碰到 x 轴;严格递减同理。
回到 f(x)=x3−3x+1。 求导得 f′(x)=3x2−3=3(x+1)(x−1)。在 (0,1) 上,x 落在 −1 与 1 之间,f′(x)<0 恒成立,所以 f 在 (0,1) 上严格递减。严格递减就至多一个零点,与前面"至少一个"合起来,(0,1) 内有且仅有一个根。
"存在"和"唯一"一定要分开写,这是本讲最容易失分的地方。 很多同学看到 f(0)>0、f(1)<0 就直接下结论"有且仅有一个根"——可零点定理只能得到"有","仅有一个"是另一条腿,少了单调性这一步,答案缺半页。下面三句话要背下来:
- 存在性 ⇒ 零点定理:区间端点异号 ⇒ 至少一个根
- 唯一性 ⇒ 单调性:严格单调 ⇒ 至多一个根
- 两条合起来 ⇒ 恰好一个根
第三件事:数个数——看极值符号和两端趋势
遇到"有几个根"这种题,单调性就不够用了,得把函数的走势整条摸清楚。 办法是四步走:
- 求导,找到所有极值点
- 算出每个极值点的函数值
- 看两端往哪跑(x→±∞ 时函数是升到正无穷还是降到负无穷)
- 把"极值符号"和"两端趋势"拼成一幅走势图,数它穿过 x 轴几次
核心判据只有一条:根出现在函数值"变号"的地方。 函数的每一段严格单调区间里,最多一个根;一段里到底有没有根,就看这段两头的函数值是否异号。把全程的极值当成一个个"台阶",数台阶的话:
| 极大值、极小值的符号 | 根的情形 |
|---|
| 极大值 <0(两个极值都负) | 全在 x 轴下方,0 个根 |
| 极大值 >0,极小值 >0 | 只在左侧穿过一次,1 个根 |
| 极大值 >0,极小值 <0 | 上—下—上穿过三次,3 个根 |
| 极大值 =0 或极小值 =0 | 极值点正好落在 x 轴上,出现重根,交点少一个 |
记住这条主线:极值符号决定"有几个台阶",两端趋势决定"够不够走完台阶"。 三次函数两端一个跑到 +∞、一个跑到 −∞,所以中间的台阶若一正一负,必然穿三次;若两个台阶同号,就只能穿一次。
三个完整算例
算例一:证明有且仅有一个根
证明方程 x3+x−1=0 有且只有一个实根。
先证存在,再证唯一,两步分开写。
设 f(x)=x3+x−1,定义域为 R。
存在性: 试端点,f(0)=−1<0,f(1)=1+1−1=1>0。函数在 [0,1] 上连续且两端异号,由零点定理,(0,1) 内至少有一个根。
唯一性: 求导得 f′(x)=3x2+1。因为 3x2≥0,所以 f′(x)≥1>0 在 R 上恒成立。f(x) 在 R 上严格递增,从而至多有一个零点。
存在加唯一,方程 x3+x−1=0 有且只有一个实根,且这个根落在 (0,1) 内。 顺便估个位置:取 x=0.68,f(0.68)=0.683+0.68−1=0.314432+0.68−1=−0.005568<0;取 x=0.69,f(0.69)=0.328509+0.69−1=0.018509>0。根就夹在 0.68 和 0.69 之间,大约是 0.682。
这道题的漂亮之处在于:从头到尾没解出根是什么,却把根的存在、唯一、位置全说清了。 这正是导数法相对求根公式的优越之处。
算例二:含参方程根的个数讨论
已知关于 x 的方程 x3−3x+a=0 有三个不同的实根,求 a 的取值范围。
参数挪到一边,根的个数就变成图像与直线交点的个数。
设 f(x)=x3−3x+a。求导得 f′(x)=3x2−3=3(x+1)(x−1)。令 f′(x)=0,得 x=−1 或 x=1。
判断极值类型: x<−1 时 f′(x)>0,(−1,1) 上 f′(x)<0,(1,+∞) 上 f′(x)>0。所以 x=−1 是极大值点,x=1 是极小值点。
算极值:
f(−1)=(−1)3−3×(−1)+a=a+2
f(1)=1−3+a=a−2
要在 x 轴上穿三次,极大值必须升到 x 轴上方、极小值必须降到 x 轴下方。 否则"上—下—上"的中间那段够不着 x 轴,只剩一两个交点:
f(−1)=a+2>0⇒a>−2
f(1)=a−2<0⇒a<2
所以 −2<a<2。
顺手把边界和其余情况补齐,讨论才算完整:
| a 的范围 | 极大值 a+2 | 极小值 a−2 | 根的个数 |
|---|
| a<−2 | 负 | 负 | 1 个 |
| a=−2 | 0 | 负 | 2 个(含重根) |
| −2<a<2 | 正 | 负 | 3 个 |
| a=2 | 正 | 0 | 2 个(含重根) |
| a>2 | 正 | 正 | 1 个 |
这张表就是含参根个数问题的标准模板。 拿 a=0 代进去检查:方程变成 x3−3x=0,即 x(x2−3)=0,三个根 0、±3,确实三个。再拿 a=2 检查:x3−3x+2=0,分解得 (x−1)2(x+2)=0,两个根(其中一个二重),与表格一致。
算例三:只证存在,不需求出
证明方程 ex=3x 有两个不同的实根。
这是超越方程,根用初等函数写不出来,但"有两个"完全能证。
移项构造函数 f(x)=ex−3x,定义域 R。求导得 f′(x)=ex−3,令 f′(x)=0 解得 x=ln3。x<ln3 时 f′(x)<0,函数递减;x>ln3 时 f′(x)>0,函数递增。所以 x=ln3 是极小值点,也是全区间的最小值点,最小值
f(ln3)=eln3−3ln3=3−3ln3=3(1−ln3)<0
最后一个不等号是因为 ln3≈1.0986>1,所以 1−ln3<0。最小值是负的,说明图像有一段沉在 x 轴下方。
再看最小值两侧各找一个函数值为正的点:
f(0)=e0−0=1>0,f(2)=e2−6≈7.389−6=1.389>0
左边: f(0)>0、f(ln3)<0,在 (0,ln3) 上函数连续且严格递减,由零点定理有一个根;右边: f(ln3)<0、f(2)>0,在 (ln3,2) 上也连续且严格递增,由零点定理有另一个根。
两根分别落在两个不同的单调区间里,而每个单调区间至多一个根,所以这个方程恰有两个实根。 题目只要求证"有两个",我们既没有、也不可能把根解出来——这恰恰说明"不用求出根"也能把个数说死。
找根:二分法与牛顿迭代
前面证明根存在,靠的是"异号必有根";顺着这个念头往下走,还能把根的具体数值"算"出来。 两条经典路线,都只用函数值和导数,不需要求根公式。
二分法:不断对半夹逼
思想就一句话:异号区间里必有根,那就在区间中点劈一刀,看根落在哪半边,把范围缩一半。 反复下去,区间越夹越窄,根就被夹在一个很小的范围里。
拿算例一的 x3+x−1=0 来演示,根已知在 (0,1):
| 步骤 | 取中点 | 中点函数值 | 根所在区间 |
|---|
| 1 | 0.5 | −0.375<0 | (0.5,1) |
| 2 | 0.75 | 0.172>0 | (0.5,0.75) |
| 3 | 0.625 | −0.131<0 | (0.625,0.75) |
| 4 | 0.6875 | 0.012>0 | (0.625,0.6875) |
每劈一刀,区间长度变成一半。 从长度 1 出发,n 次之后区间长度缩到 2n1。要精确到小数点后三位(误差小于 10−3),只要 2n>1000,也就是劈十次左右。上表继续算下去,区间会落到 0.682 附近,与算例一的估计对上了。
牛顿迭代法:用切线逼近
二分法稳,但慢——一次只砍掉一半。牛顿法换了个巧劲,一次能砍掉好几个数量级。
思路是: 要解 f(x)=0,先猜一个近似根 x0,过点 (x0,f(x0)) 作切线,拿这条切线在 x 轴上的交点,作为更好的近似 x1。切线是曲线在这一点附近最好的"直线替身",它的零点离真正的根很近。写出这条切线,令 y=0,解出的 x1 是
x1=x0−f′(x0)f(x0)
把 x1 当作新的 x0 再作一次切线,如此反复,就会飞快逼近真正的根。
拿最简单的例子验一下:求 2,也就是解 f(x)=x2−2=0。 取初始值 x0=1,f′(x)=2x。
- 第一次:x1=1−2×112−2=1−2−1=1.5
- 第二次:x2=1.5−2×1.51.52−2=1.5−30.25≈1.41667
- 第三次:x3=1.41667−2×1.416671.416672−2≈1.41667−0.00245≈1.41422
三步就逼近到 1.41422,而 2=1.41421…,小数点后五位已经对上。 这就是导数的威力——它不仅判根,还能把根揪到眼前。
高中不要求用牛顿法算题,但这条思路要留在心里: 切线近似曲线,是把"解不出根的方程"换成"能解的线性方程"的基本手法,后面导数的近似计算还会再遇到它。
在高中数学体系里的位置
从思想上看,这一讲是一次数形结合的集中演练。 方程的根是"数",函数图像与 x 轴的交点是"形",导数是打通两者的桥。把"求方程的根"翻译成"看图像的零点",再翻译成"求导数、看极值",是一条典型的化繁为简的思路延伸。
从运算上看,它是两个基本技能的练兵场。 一是求导后正确解出 f′(x)=0 并判断单调区间,二是函数值的符号判断(含参数、含对数指数时尤其考验计算)。这两项在前几讲已经反复练过,这里只是组合起来用。
从考试上看,它是导数大题的综合题常客。 单问"有几个根"并不难,难的是它常和含参讨论、不等式证明揉在一起,一出就是压轴题的两三问。核心方法链始终是那一条:求导 → 找极值 → 看极值符号 → 结合两端趋势定根的个数 → 用零点定理确认存在。
思考与拓展
- 证明方程 x5+x−1=0 有且只有一个实根,并指出这个根在哪两个相邻整数之间。
- 已知方程 xlnx=a 有两个不同的实根,求 a 的取值范围。(提示:先求 g(x)=xlnx 在 (0,+∞) 上的最小值)
- 讨论方程 x3−6x2+9x−a=0 的根的情况如何随 a 变化。(提示:先求 f(x)=x3−6x2+9x 的极值,再数水平线 y=a 与它的图像有几个交点)
- 用二分法把方程 x3+x−1=0 的根近似到小数点后两位(误差小于 0.005),至少需要几步?(提示:每次区间长度减半)
高考母题
(2025·天津) 已知函数 f(x)=ax−(lnx)2
(1) a=1 时,求 f(x) 在点 (1,f(1)) 处的切线方程;
(2) f(x) 有3个零点, x1,x2,x3 且 (x1<x2<x3) . (i)求a的取值范围; (ii)证明 (lnx2−lnx1)⋅lnx3<e−14e .
展开详解
(1) y=x
(2)(i) {(0,e24) ;(ii)证明见解析.
【分析】
(1)利用导数的几何意义,求导数值得斜率,由点斜式方程可得;
(2)(i)令 f(x)=0 ,分离参数得 a=x(lnx)2 ,作出函数 g(x)=x(lnx)2 图象,数形结合可得 a 范围;(ii)由(2)结合图象,可得 x1,x2,x3 范围,整体换元 lnx1=t1,lnx2=t2,lnx3=t3 ,转化为 {} ,结合由 ②③ 可得 { ,两式作差,利用对数平均不等式可得 t1t3<4 ,再由 t12=aet1<a 得 −t1<a ,结合 a=et3t32 减元处理,再构造函数求最值,放缩法可证明不等式.
(1)当 a=1 时, f(x)=x−(lnx)2 , x>0 ,
则 f′(x)=1−x2lnx ,则 f′(1)=1 ,且 f(1)=1 ,
则切点 (1,1) ,且切线的斜率为 1 ,
故函数 f(x) 在点 (1,f(1)) 处的切线方程为 y=x ;
(2)(i)令 f(x)=ax−(lnx)2=0 , x>0 ,
得 a=x(lnx)2 ,
设 g(x)=x(lnx)2,x>0 ,
则 g′(x)=x2x2lnx⋅x−(lnx)2=x2lnx(2−lnx) ,
由 g′(x)=0 解得 x=1 或 e2 ,其中 g(1)=0 , g(e2)=e24 ;
当 0<x<1 时, g′(x)<0 , g(x) 在 (0,1) 上单调递减;
当 1<x<e2 时, g′(x)>0 , g(x) 在上单调递增;
当 x>e2 时, g′(x)<0 , g(x) 在 (e2,+∞) 上单调递减;
且当 x→0 时, g(x)→+∞ ; 当 x→+∞ 时, g(x)→0 ;
如图作出函数 g(x) 的图象,
要使函数 f(x) 有3个零点,
则方程 a=g(x) 在 (0,+∞) 内有 3 个根,即直线 y=a 与函数 g(x) 的图象有 3 个交点.
结合图象可知, 0<a<e24 .
故 a 的取值范围为 (0,e24) ;
(ii)由图象可知, 0<x1<1<x2<e2<x3 ,
设 lnx1=t1,lnx2=t2,lnx3=t3 ,则 t1<0<t2<2<t3 ,
满足 { ,由 ②③ 可得 { ,
两式作差可得 t3−t2=2(lnt3−lnt2) ,
则由对数均值不等式可得 2=lnt3−lnt2t3−t2>t2t3 ,
则 t2t3<4 ,故要证 (lnx2−lnx1)⋅lnx3<e−14e ,
即证 t2t3−t1t3<e−14e ,只需证 4−t1t3≤e−14e ,
即证 −t1t3≤e−14 ,又因为 t1<0,t12=aet1<a ,则 ∣t1∣=−t1<a ,
所以 −t1t3<at3=e2t3t32 ,故只需证 e2t3t32≤e−14 ,
设函数 φ(t)=e2tt2,t>2 ,则 φ′(t)=et2te2t−21t2e2t=e2t(2−21t)t ,
当 2<t<4 时, φ′(t)>0 ,则 φ(t) 在 (2,4) 上单调递增;
当 t>4 时, φ′(t)<0 ,则 φ(t) 在 (4,+∞) 上单调递减;
故 φ(t)max=φ(4)=e216 ,即 φ(t)≤e216 .
而由 4e2−16e+16=4(e−2)2>0 ,
可知 e216<e−14 成立,故命题得证.
一句话总结
方程根的个数就是函数零点的个数。存在性用零点定理(端点异号),唯一性用单调性,个数用极值符号加两端趋势——两件事分开证,一个都不能少。
— Y. · 2026-10-04