数学 / 导数 · 从变化率到极值与不等式 / 极值与闭区间上的最值 待审核 5 / 8
驻点 · 端点 · 变号判别

极值与闭区间上的最值

单调区间的分界处是曲线由升转降或由降转升的地方,函数值在那里取到一个局部的峰或谷。峰谷的高度未必是整段区间上的最高与最低:极值与最值是两个不同的概念,前者只看一点附近,后者要看整个区间。

1 · 极值的局部性

定义 1.1(极值)ffx0x_0 的某个邻域内有定义。若该邻域内每个 xx 都满足 f(x)f(x0)f(x) \le f(x_0),则称 f(x0)f(x_0)ff 的一个极大值,x0x_0 是极大值点;把不等号反向即得极小值与极小值点。极大值与极小值统称极值。

定义里的「某个邻域」把极值锁在局部。f(x)=x33xf(x) = x^3 - 3xx=1x = -1 处取极大值 22,而 f(3)=18f(3) = 18 比它大得多:一个极大值完全可以小于同一个函数在别处的值,甚至小于同一区间上的某个极小值。

极值点必须是定义域的内点。区间端点处只有一侧有函数值,「邻域内每个 xx」这个要求无从谈起,所以端点不是极值点,但它可以是最值点,这一点在 §4 里就要用到。

2 · 驻点与变号判别

导函数为零的点称为驻点。可导函数的极值点必是驻点:极大值点左侧函数值上升、右侧下降,导数在该点前后由正变负,而可导保证它在该点处连续地取到零。

定理 2.1(变号判别)ffx0x_0 处可导且 f(x0)=0f'(x_0) = 0。若 ff'x0x_0 左侧为正、右侧为负,则 f(x0)f(x_0) 是极大值;若左负右正,则是极小值;若两侧同号,则 x0x_0 不是极值点。

判别依据是符号变化,不是导数值本身。core/calculus.tscriticalPoints 照这条实现:先取导函数的零点,再在每个零点左右各取一个探测点看符号。探测半径不取固定值,而是缩到相邻驻点距离的三分之一:x33εxx^3 - 3\varepsilon xε\varepsilon 很小时两个驻点相距只有 2ε2\sqrt{\varepsilon},固定半径会让左探测点越过零点落进另一侧,判别随之出错。ε=106\varepsilon = 10^{-6} 时两个驻点相距 0.0020.002,缩放后的半径为 6.7×1046.7 \times 10^{-4},判别仍分别给出极大与极小。

图 2-1 · 闭区间上的候选点与最值。可切换函数、拖动区间两端观察最值在驻点与端点之间转移,并调采样点数与驻点法的结果对照。

3 · 驻点不必是极值点

f(x)=x3f(x) = x^3 的导数 3x23x^2x=0x = 0 处为零,但两侧都为正,函数一路递增,x=0x = 0 既非极大也非极小。驻点只是极值点的候选,判别这一步不能省。

例 3.1f(x)=x48x2f(x) = x^4 - 8x^2 的极值。f(x)=4x316x=4x(x24)f'(x) = 4x^3 - 16x = 4x(x^2 - 4),驻点为 2-20022ff' 的符号依次是负、正、负、正,故 x=±2x = \pm 2 是极小值点,极小值都是 16-16x=0x = 0 是极大值点,极大值 00。这个函数的极大值 00 小于它在 x=3x = 3 处的函数值 99,再次印证极值的局部性。

4 · 闭区间上的最值

ff 在闭区间 [a,b][a, b] 上连续时必取到最大值与最小值,而取到的位置只有两类:区间内部的驻点,或两个端点。求法因此是一张短清单——算出内部驻点处的函数值,算上 f(a)f(a)f(b)f(b),逐个比较。判别这一步可以跳过:无论驻点是极大、极小还是两侧同号,它的函数值都已在比较之列。

f(x)=x33xf(x) = x^3 - 3x[3,0.5][-3, 0.5] 为例。内部驻点只有 x=1x = -1f(1)=2f(-1) = 2;端点值 f(3)=18f(-3) = -18f(0.5)=1.375f(0.5) = -1.375。最大值 22 在极大值点处取到,最小值 18-18 落在左端点——端点不是极值点,却是最小值点。

注 · 换成在区间上密集采样求最值,误差比想象的大。f(x)=x48x2f(x) = x^4 - 8x^2[3,3][-3, 3] 上的最小值是 16-16,在 x=±2x = \pm 2 处取到。等距采样 2020 段时最好的采样点是 x=2.1x = 2.1,函数值 15.8319-15.8319;加密到 4040 段得到 x=1.95x = -1.9515.960994-15.960994。采样点数每翻一倍,误差约缩到四分之一(极小值附近函数近似为二次),而驻点法直接解出 x=2x = 2 与准确的 16-16。lab 里两种结果并排显示,正是为了让这个差额可见。

例 4.1 用一块边长 1212 的正方形铁皮,四角各剪去一个边长 xx 的小正方形后折成无盖盒子,求容积最大时的 xx。容积 V(x)=x(122x)2V(x) = x(12 - 2x)^2,定义域 (0,6)(0, 6)V(x)=(122x)2+x2(122x)(2)=(122x)(126x)V'(x) = (12-2x)^2 + x \cdot 2(12-2x)(-2) = (12-2x)(12 - 6x),在 (0,6)(0, 6) 内的驻点是 x=2x = 2VV'(0,2)(0, 2) 上为正、(2,6)(2, 6) 上为负,故 x=2x = 2 处取得最大容积 V(2)=128V(2) = 128

5 · 参考文献

  1. Maximum and minimum. Wikipedia. 极值与最值的定义、局部与整体的分别。https://en.wikipedia.org/wiki/Maximum_and_minimum
  2. Fermat's theorem (stationary points). Wikipedia. 「可导函数的极值点必为驻点」的严格表述。https://en.wikipedia.org/wiki/Fermat%27s_theorem_(stationary_points)
  3. Extreme value theorem. Wikipedia. 闭区间上连续函数必取到最大值与最小值。https://en.wikipedia.org/wiki/Extreme_value_theorem