链式法则

复合函数的变化率 = 外层的变化率 × 内层的变化率。它把陌生的复合式化归成一串已经会求导的东西,是整门课最常用的一条规则。

8 分钟思维方法: 化归

把没见过的问题变形成见过的问题

这一片为什么存在

你会求 sin x 的导数,也会求 2x 的导数。可 sin 2x 呢?和差、常数倍、幂法则,一条都套不上去。这一片要给你的不是又一条要背的公式,而是一台机器:把没见过的函数,拆回你已经会的那几个。

内容

先把导数想成一个放大倍数。

在 x 附近,函数 g 把一段极短的输入变化 Δx,放大成输出变化 Δu。放大多少倍?就是 g′(x)。这是导数最朴素的读法:局部的伸缩率。

现在把两台机器串起来。第一台是内层 u = g(x),第二台是外层 y = f(u)。x 先进第一台,出来变成 u;u 再进第二台,出来变成 y。

Δx 进去,被第一台放大 g′ 倍,变成 Δu。Δu 进去,被第二台放大 f′ 倍,变成 Δy。

那么从 Δx 到 Δy,总共放大了多少倍?两次放大是接连发生的,所以倍数相乘:Δy/Δx = (Δy/Δu)·(Δu/Δx)。

这就是链式法则的全部内容。齿轮组是个好画面:小齿轮转一圈带动中齿轮转 3 圈,中齿轮转一圈带动大齿轮转 5 圈,于是小齿轮转一圈,大齿轮转 15 圈。传动比是乘的,不是加的。

这里有一个特别容易滑过去的细节。第二台机器的放大倍数,必须在它自己的输入位置上量。它的输入是 u,不是 x。所以写的是 f′(u),也就是 f′(g(x)),而不是 f′(x)。

拿 sin 2x 举例。内层先把 x 送到 2x 这个位置。外层 sin 的伸缩率是 cos,那要在哪儿量这个 cos?在 2x 处,不在 x 处。所以答案是 cos(2x)·2,既不是 cos x·2,也不是光秃秃的 cos 2x。

漏掉那个因子 2,是这条规则最常见的失手。它的含义其实很具体:你只算了外层的传动比,忘了内层已经先把变化放大了一倍。

还有一句要提醒。dy/du · du/dx 里的 du 上下消掉,看起来像分数约分,算出来也确实对。但那不是约分。dy/du 是一个整体记号,是极限的结果,不是两个数相除。它凑巧长得像分数,是因为它确实来自 Δy/Δu 这个真分数取极限——莱布尼茨当年就是照着这个设计记号的。把它当分数用能帮你记住,但别把它当成证明。

最后一件事:这条规则不止管两层。三层复合就是三段传动,要乘三次;n 层就乘 n 次。像剥洋葱,从最外面一层一层往里剥,每剥一层乘一个因子,一直剥到最里面那个单纯的 x 为止。

设 g 在 x 处可导,f 在 u = g(x) 处可导。那么复合函数 F(x) = f(g(x)) 在 x 处可导,且

F′(x) = f′(g(x)) · g′(x)。

逐个交代符号。

g 是内层函数,先作用;f 是外层函数,后作用。u = g(x) 是中间变量,它既是 g 的输出,也是 f 的输入。

f′(g(x)) 读作:f 的导函数,在 g(x) 这个点取值。注意括号里装的是 g(x),不是 x。求导和取值是先后两步:先对 f 求导得到 f′ 这个新函数,再把 g(x) 代进去。顺序反了就成了别的东西。

g′(x) 是内层的导数,在 x 处取值。因为 g 的输入本来就是 x。

莱布尼茨记法写成

dy/dx = (dy/du)·(du/dx),

其中 y = f(u),u = g(x)。dy/du 要读成 y 对 u 的导数,是一个不可拆开的整体记号,不是 dy 除以 du。

多层复合按同样的方式往下接。若 y = f(g(h(x))),则

dy/dx = f′(g(h(x))) · g′(h(x)) · h′(x)。

层数是几,因子就有几个。每个因子都在它自己那一层的输入位置取值。

跟着做一遍

求 y = (3x² + 1)⁵ 的导数。先自己动手写一遍,再往下看步骤。

  1. 认层:最外面是某个东西的 5 次方,所以外层是 f(u) = u⁵;里面那个东西是 3x² + 1,所以内层是 g(x) = 3x² + 1。
  2. 记 u = 3x² + 1,于是 y = u⁵。
  3. 外层求导:f′(u) = 5u⁴。这一步只把 u 当普通变量,先别管它是什么。
  4. 把 u 换回来取值:f′(g(x)) = 5(3x² + 1)⁴。取值位置是 3x² + 1,不是 x。
  5. 内层求导:g′(x) = 6x。
  6. 相乘:y′ = 5(3x² + 1)⁴ · 6x。
  7. 整理:y′ = 30x(3x² + 1)⁴。
  8. 自检:若漏乘 g′(x),会得到 5(3x² + 1)⁴。代 x = 0 看看——正确答案给 0,漏乘的答案给 5。而 y 在 0 处是个最小值,变化率只能是 0。

结果

y′ = 30x(3x² + 1)⁴。更一般地:遇到复合先认层,再从外往里逐层求导,每层的导数都在该层自己的输入处取值,最后把所有因子乘起来。

它在树上的位置

概念不是一篇一篇平铺的。下面两组是这一片真实的上下游:它靠着什么,又撑起了什么。

它靠着

它撑起

标着「还没写」的那些没有链接,因为没有页面可去。它们不是被锁住的,也不是花钱能打开的:是还没有人把它们写出来——这是我们这边的事,不是你的。

读完之后

这一页是产品里的一天。产品是那棵树:你学到哪、哪块在衰减、明天该学什么。一篇读物回答不了这三个问题,树才回答。

看看那是什么意思