数学 / 函数 · 从概念到零点与增长速度 / 单调性:随 x 增大,函数值升还是降 待审核 3 / 12
monotonic · 任取 x1<x2x_1 < x_2 比较 f(x1)f(x_1)f(x2)f(x_2)

单调性:随 x 增大,函数值升还是降

单调性刻画一条曲线在某段区间上往哪个方向走。它的定义不依赖斜率,也不涉及某一点的局部信息,只用两点的函数值作比较——这使它在不谈导数的阶段就能被精确定义。

1 · 定义中的全称量词

increasing · decreasing · 任取两点

定义 1.1(单调递增与单调递减) 设函数 ff 的定义域包含区间 II。若对 II 内任取的 x1<x2x_1 < x_2 都有 f(x1)<f(x2)f(x_1) < f(x_2),则称 ffII 上单调递增;若都有 f(x1)>f(x2)f(x_1) > f(x_2),则称 ffII 上单调递减。

定义里的量词是全称的:递增不是「有时升」,而是区间内每一对点都满足那个不等式。单看一对点只能否证、不能证明——找到一对使 f(x1)f(x2)f(x_1) \ge f(x_2) 便足以断定不递增,而任意多对都满足也证不出递增。

不等号取严格还是非严格是两套口径。定义 1.1 取严格,得到的是严格递增;把 << 换成 \le 得到的是单调不减,常值函数满足后者而不满足前者。本系列一律取严格口径,说「递增」即指严格递增。

图 1-1 · 曲线上相邻两点的高低比较,以及按各区间升降分段着色的结果,绿底为递增区间、红底为递减区间。可拖动左端点,观察一对点的结论与整个区间的结论何时不一致。

2 · 单调区间不能求并

intervals · ABA \cup B 上未必单调

单调性是相对区间而言的,脱离区间说「这个函数递增」没有意义。f(x)=x2f(x) = x^2 在整个定义域上既不递增也不递减,拆成 (,0](-\infty, 0][0,+)[0, +\infty) 两段之后分别递减、递增。

警示 · 两个区间上各自递减,不能推出并集上递减。f(x)=1/xf(x) = 1/x(,0)(-\infty, 0) 上递减、在 (0,+)(0, +\infty) 上也递减,但在两者的并集上不递减:取 x1=1x_1 = -1x2=1x_2 = 1f(x1)=1f(x_1) = -1 小于 f(x2)=1f(x_2) = 1,不等号反了向。原因是定义 1.1 要求 x1x_1x2x_2 在同一个区间内任取,而这两点跨过了不在定义域里的 x=0x = 0。所以单调区间要写成「在 (,0)(-\infty, 0)(0,+)(0, +\infty) 上分别递减」,中间用「与」而不能用并集符号。

3 · 采样证不出单调性

sampling · 相邻两点全升 \ne 单调

程序判定单调性的通常做法是等距取样、逐对比较相邻两点。这条做法能发现下降,却不能证明上升——定义要求的是任取两点,而采样只查了相邻的那些对。

漏检不是极端情形下才发生。取 f(x)=x3xf(x) = x^3 - x,它在 x=±1/3±0.5774x = \pm 1/\sqrt{3} \approx \pm 0.5774 处有局部极值,中间那一段确实下降。把它放在 [10,10][-10, 10] 上等距取样逐对比较,n=1n = 11010 段一律报「处处递增」,误判一直持续到 n=18n = 18 段(步长 1.11111.1111)。

更值得记的是加密并不单调地改善:nn1111131315151717 都能抓到那段下降,而 nn1212141416161818 又漏掉了。原因是采样点的位置与那个宽约 1.151.15 的下降区间是否对齐,取决于步长与端点的配合,与步长的大小并不单调相关。把区间收窄到 [2,2][-2, 2] 后只有 n=1n = 1n=2n = 2 会误判,因为下降段占了区间的更大比例。

所以「加密采样直到结论不变」不是一条可靠的判据。要断言单调,得回到解析式:或者用定义作差比较 f(x2)f(x1)f(x_2) - f(x_1) 的符号,或者用导数的符号。

4 · 参考文献

  1. Monotonic function. Wikipedia. 单调性的定义,含严格与非严格两套口径。https://en.wikipedia.org/wiki/Monotonic_function
  2. Interval (mathematics). Wikipedia. 区间的记法,以及单调区间为何不能求并。https://en.wikipedia.org/wiki/Interval_(mathematics)