跳到主要内容

导数与极值分析

下面的符号判据针对相应导数存在的整个区间,而不是几个抽样点。使用二阶导数判别法时,假设 cc 为内点,且 ff 在其附近二阶连续可导。曲线分析讲解区分了极值点与拐点。

导数基础

  • 一阶导数 f(x)f'(x):刻画函数 f(x)f(x) 在点 xx 处的瞬时变化率(即切线斜率)。
  • 二阶导数 f(x)f''(x):刻画斜率的变化;在二阶导数存在的区间上,其符号决定凹凸性。
  • 高阶导数nn 阶导数 f(n)(x)f^{(n)}(x) 定义为 (n1)(n-1) 阶导数的导数。

临界点与极值判定

  • 临界点定义:若 ccff 的定义域内,且满足 f(c)=0f'(c)=0f(c)f'(c) 不存在,则 cc 为临界数,对应的点 (c,f(c))(c, f(c)) 为临界点。
  • 二阶导数判别法
    • f(c)=0f'(c)=0f(c)>0f''(c)>0,则 ffcc 处取局部极小值。
    • f(c)=0f'(c)=0f(c)<0f''(c)<0,则 ffcc 处取局部极大值。
    • f(c)=0f''(c)=0,该判别法失效,需进一步分析。
  • 拐点(Inflection Point):函数凹凸性发生改变的点。单凭 f(c)=0f''(c)=0 不能判断拐点;拐点处的二阶导数也可能不存在。

牛顿迭代法

  • 利用切线近似求零点的迭代算法,但不保证收敛。

  • 迭代公式:

    xn+1=xnf(xn)f(xn)x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}

隐函数求导

  • 适用于无法显式解出 yy 的方程 F(x,y)=0F(x, y) = 0
  • 利用链式法则对等式两边同时关于 xx 求导,从而解出 dydx\frac{dy}{dx}

单调性区间

  • 单调递增:若在某区间内 f(x)>0f'(x) > 0,则 f(x)f(x) 在该区间单调递增。
  • 单调递减:若在某区间内 f(x)<0f'(x) < 0,则 f(x)f(x) 在该区间单调递减。

凹凸性与拐点判定

  • 凹向上(Concave Up):若区间内恒有 f(x)>0f''(x) > 0,图像呈“碗状”向上弯曲。
  • 凹向下(Concave Down):若区间内恒有 f(x)<0f''(x) < 0,图像呈“拱形”向下弯曲。
  • 拐点判定:若 ffcc 处连续,且 ff'' 在紧邻 cc 的左右区间上异号,则 (c,f(c))(c,f(c)) 为拐点。

完整示例:如何分类候选点

函数在可导的内点取得局部极值时,必有 f(c)=0f'(c)=0(费马定理)。反过来不成立:x3x^300 处导数为零,却一直递增。对连续函数,若一阶导数由正变负,则该点为局部极大值点;由负变正则为局部极小值点。不变号时,这个判据不给出极值。函数须在相邻区间内可导。

考察 [2,2][-2,2] 上的 f(x)=x33xf(x)=x^3-3x

f(x)=3(x1)(x+1),f(x)=6x.f'(x)=3(x-1)(x+1),\qquad f''(x)=6x.

内点中的临界数为 1,1-1,1。导数在 (2,1)(-2,-1) 上为正、在 (1,1)(-1,1) 上为负、在 (1,2)(1,2) 上为正。因此 f(1)=2f(-1)=2 是局部极大值,f(1)=2f(1)=-2 是局部极小值。求闭区间上的最大值与最小值时,还要比较端点:f(2)=2f(-2)=-2f(2)=2f(2)=2。最小值 2-22-211 处取得,最大值 221-122 处取得。闭有界区间上的连续函数一定能取得最大值和最小值,但计算时仍须找全候选点。

二阶导数在 00 两侧变号,且图像在此连续,所以 (0,0)(0,0) 是拐点。对比 x4x^4:其二阶导数在 00 处为零,凹凸性却不变。x1/3x^{1/3}00 处凹凸性改变,但二阶导数不存在。1/x1/x 的二阶导数在零点两侧变号,但零点不在图像上,所以没有拐点。另外,ff'' 本身不是几何曲率;对二阶可导的函数图像,无符号曲率为 f/(1+(f)2)3/2|f''|/(1+(f')^2)^{3/2}

隐函数计算与牛顿迭代

x2+y2=1x^2+y^2=1,沿可导分支 y=y(x)y=y(x) 求导得到 2x+2yy=02x+2yy'=0,所以 y0y\ne0y=x/yy'=-x/y;在 (0,1)(0,1) 处斜率为 00。在 (±1,0)(\pm1,0) 处不能这样相除,此时圆的切线竖直。更一般地,若方程 F(x,y)=0F(x,y)=0FF 连续可微,且某个解处 Fy0F_y\ne0,则该点附近存在可导分支,满足 y=Fx/Fyy'=-F_x/F_y

牛顿法令切线预测值为零:0=f(xn)+f(xn)(xn+1xn)0=f(x_n)+f'(x_n)(x_{n+1}-x_n)。只有 f(xn)0f'(x_n)\ne0 时,才能得到前面的迭代公式。对 f(x)=x22f(x)=x^2-2,从 x0=1x_0=1 开始:

x1=32,x2=1712,x3=5774081.414215686.x_1=\frac32,\qquad x_2=\frac{17}{12},\qquad x_3=\frac{577}{408}\approx1.414215686.

若函数在单根(导数不为零的根)附近二阶连续可导,从足够近的位置出发可保证局部收敛。远处的初值未必有效:对 f(x)=x32x+2f(x)=x^3-2x+2,从 00 开始会陷入 0100\to1\to0 的循环。实际计算应设迭代上限,遇到无定义的值、零导数或过小的导数时停止或另作处理,并同时检查步长与残差 f(xn)|f(x_n)|。仅有步长很小不能证明找到了根。

参考资料

探索关联打开关联网络