贡献者: addis; Giacomo
若有两个一元函数 $f(x)$ 和 $g(x)$,我们可以把 $g$ 的函数值作为 $f$ 的自变量,得到一个新的函数称为 $f(x)$ 和 $g(x)$ 的复合函数,记为 $(f \circ g)(x) = f(g(x))$。
为了让问题更加清晰,我们引入变量 $u = g(x)$,之后会用 $f(u)$ 替代 $f(x)$,引入 $y = f(u)$;换言之,我们把 $g$ 的函数值和 $f$ 的自变量记为 $u$,把 $f$ 的函数值记为 $y$。
如果我们已知两个函数 $f(u)$ 和 $g(x)$ 的导函数 $f'(u)$ 和 $g'(x)$,那么我们可以通过以下公式求复合函数 $f(g(x))$ 的导数。
\begin{equation}
f(g(x))' = f'(u) g'(x) = f'(g(x))g'(x)~.
\end{equation}
对于多个函数的复合函数,我们也有类似的公式,例如
\begin{equation}
h(f(g(x)))' = h'(f(g(x)))f'(g(x))g'(x)~.
\end{equation}
例 1 基本初等函数的复合函数求导
我们已经知道基本初等函数的导数的导函数,下面对它们的一些常见的复合函数进行求导:
$\sin^2 u$ 可以看作幂函数 $f(u) = u^2$ 和 $g(x) = \sin x$ 的复合函数,已知 $f'(u) = 2u$,$g'(x) = \cos x$,代入式 1 得
\begin{equation}
(\sin^2 x)' = 2\sin x \cos x~.
\end{equation}
$\sqrt{x^2 + a^2}$($a$ 为常数)可以看作幂函数 $f(u) = \sqrt{u}$ 和多项式 $g(x) = x^2 + a^2$ 的复合函数,$f'(u) = 1/(2\sqrt u)$,$g'(x) = 2 x$,代入式 1 得
\begin{equation}
1/(2\sqrt{x^2 + a^2}) \cdot 2 x = \frac{x}{x^2 + a^2}~.
\end{equation}
1. 几何理解
以下推导用到了微分的记号。
推导开始
图 1:可以将 $\sin^2 x$ 看做 $f(u) = u^2$ 和 $g(x) = \sin x$ 的复合函数
我们可以用类似图 1 的图像来直观地理解复合函数。先画出 $y = f(u)$ 和 $u = g(x)$ 的图像,并将 $f(u)$ 的图像逆时针旋转 $90^\circ$ 使得两图的 $u$ 轴对齐。这样对于任何定义域中的自变量 $x$,我们只需要先在 $g(x)$ 的图中画出 $u$ 的位置,再对应到 $f(u)$ 的图像中求出 $y$ 的位置即可。
现在我们要讨论的问题是,若已知两函数的导函数 $f'(x)$ 和 $g'(u)$(假设它们在定义域内处处可导)如何求复合函数 $f(g(x))$ 的导数。
对于给定的 $x$,我们先来看当 $x$ 增加 $\Delta x$ 时 $y$ 的增量 $\Delta y$ 的大小。我们可以使用与图 1 类似的方法画出图 2 ,然后只需要令 $\Delta x \to 0$,就可以根据定义求出复合函数的导数
\begin{equation}
f(g(x))' = \frac{\mathrm{d}}{\mathrm{d}{x}} f(g(x)) = \lim_{\Delta x\to 0} \frac{\Delta y}{\Delta x}~.
\end{equation}
图 2:用
图 1 中的方法求出任意 $\Delta x$ 对应的 $\Delta y$
在这个过程中,我们在得到 $\Delta y$ 之前先得到了 $u$ 的增量 $\Delta u$。当 $\Delta x$ 较小时有微分近似(式 2 )
\begin{equation}
\Delta {u} \approx g'(x) \Delta{x}~,
\qquad
\Delta{y} \approx f'(u) \Delta{u}~.
\end{equation}
当 $\Delta x \to 0$ 时对应的微分关系(
式 3 )为
\begin{equation}
\,\mathrm{d}{u} = g'(x) \,\mathrm{d}{x} ~,
\qquad
\,\mathrm{d}{y} = f'(u) \,\mathrm{d}{u} ~.
\end{equation}
将上式中的左边代入右边得
\begin{equation}
\,\mathrm{d}{y} = f'(u) g'(x) \,\mathrm{d}{x} = f'(g(x))g'(x) \,\mathrm{d}{x} ~.
\end{equation}
而复合函数的微分是
\begin{equation}
\,\mathrm{d}{y} = f(g(x))' \,\mathrm{d}{x} ~.
\end{equation}
对比以上两式(微分和导数的关系)得
\begin{equation}
f(g(x))' = f'(g(x))g'(x)~,
\end{equation}
这就是复合函数的求导公式。
推导完毕!
复合函数的求导公式也叫链式法则,原因是我们可以把以上推导过程用导数的另外一种符号表示如下。
\begin{equation}
\,\mathrm{d}{y} = \left. \frac{\mathrm{d}{y}}{\mathrm{d}{u}} \right|_u \,\mathrm{d}{u} = \left. \frac{\mathrm{d}{y}}{\mathrm{d}{u}} \right|_u \left. \frac{\mathrm{d}{u}}{\mathrm{d}{x}} \right|_x \,\mathrm{d}{x} ~,
\end{equation}
得
\begin{equation}
\left. \frac{\mathrm{d}{y}}{\mathrm{d}{x}} \right|_{x} = \left. \frac{\mathrm{d}{y}}{\mathrm{d}{u}} \right|_{u = g(x)} \left. \frac{\mathrm{d}{u}}{\mathrm{d}{x}} \right|_{x}~,
\end{equation}
这种书写方式让人不禁想把 $ \mathrm{d}{y}/\mathrm{d}{x} $ 看做是 $ \,\mathrm{d}{y} $ 和 $ \,\mathrm{d}{x} $ 相除,这样的符号分割是错误的,但这个巧合背后蕴含着更深刻的原理。
注意:式 12 常常被简写成
\begin{equation}
\frac{\mathrm{d}{y}}{\mathrm{d}{x}} = \frac{\mathrm{d}{y}}{\mathrm{d}{u}} \frac{\mathrm{d}{u}}{\mathrm{d}{x}} ~,
\end{equation}
容易造成进一步的误解。
2. 多重复合函数
要对多重复合函数如 $h(f(g(x)))$ 求导,可以先对 $f(g(x))$ 求导得 $f'(g(x))g'(x)$ 再得到
\begin{equation}
h(f(g(x)))' = h'(f(g(x)))f'(g(x))g'(x)~.
\end{equation}
令 $v = h(y)$,用微分符号可以表示为
\begin{equation}
\frac{\mathrm{d}{v}}{\mathrm{d}{x}} = \frac{\mathrm{d}{v}}{\mathrm{d}{y}} \frac{\mathrm{d}{y}}{\mathrm{d}{u}} \frac{\mathrm{d}{u}}{\mathrm{d}{x}} ~,
\end{equation}
任意多重的复合函数求导同理可得。
例 2
\begin{equation}
\frac{1}{\sqrt{x^2+a^2}}~.
\end{equation}
首先令 $h(y) = 1/y$,$f(u) = \sqrt{u}$ 再令 $g(x) = x^2+a^2$,上式等于 $h(f(g(x)))$。由
基本初等函数的导数,
\begin{equation}
\begin{aligned}
h'(y) &= - 1/y^2 \\
f'(u) &= \frac{1}{2 \sqrt{u}}, \\
g'(x) &= 2x.
\end{aligned}~
\end{equation}
代入
式 2 ,得
\begin{equation}
\begin{aligned}
\frac{\mathrm{d}}{\mathrm{d}{x}} \frac{1}{\sqrt{x^2+a^2}} &= \left(- {1 \over x^2 + a^2}\right) \cdot \left( {1 \over 2 \sqrt{x^2 + a^2}} \right) \cdot \left( 2 x \right) \\
&= -\frac{x}{\sqrt{(x^2+a^2)^3}}~.
\end{aligned}~
\end{equation}
一种较灵活的情况是,当三个变量只有一个自由度1时,任何一个变量都可以看做任何另外两个变量的函数2,这时可以根据需要灵活运用链式法则,如例 3 。
例 3 加速运动公式
假设质点做一维运动,位移、速度和加速度分别记为 $x(t)$, $v(t) = \mathrm{d}{x}/\mathrm{d}{t} $, $a(t) = \mathrm{d}{v}/\mathrm{d}{t} $,但若把速度 $v$ 看做复合函数 $v(x(t))$,根据链式法则有
\begin{equation}
a = \frac{\mathrm{d}{v}}{\mathrm{d}{t}} = \frac{\mathrm{d}{v}}{\mathrm{d}{x}} \frac{\mathrm{d}{x}}{\mathrm{d}{t}} = \frac{\mathrm{d}{v}}{\mathrm{d}{x}} v~.
\end{equation}
写成微分表达式,有 $a \,\mathrm{d}{x} = v \,\mathrm{d}{v} $。注意到 $ \,\mathrm{d}\left(v^2 \right) = 2v \,\mathrm{d}{v} $,代入得
\begin{equation}
\,\mathrm{d}\left(v^2 \right) = 2a \,\mathrm{d}{x} ~.
\end{equation}
若质点做匀加速运动,该式的物理意义是在任何一段微小时间内,速度平方的增量正比于这段时间内的位移增量。在一段时间 $(t_1,t_2)$ 内把这些增量累加起来,就得到高中熟悉的运动学公式
\begin{equation}
v_2^2-v_1^2 = 2a(x_2-x_1)~,
\end{equation}
其中 $x_1,v_1$ 和 $x_1,v_1$ 分别是 $t_1,t_2$ 时刻的位置和速度。而如果在单向运动中,加速度随位置变化,则对
式 20 两边积分得
\begin{equation}
v_2^2 - v_1^2 = 2\int_{x_1}^{x_2}a(x) \,\mathrm{d}{x} ~.
\end{equation}
1. ^ 即任何一个变量值确定后,另外两个变量也随之确定。
2. ^ 姑且假设在所考虑的区间内不会出现一个自变量对应两个函数值的情况。