news 2026/10/2 7:45:18

多元复合函数求导法则详解:链式法则、全导数与偏导数的区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
多元复合函数求导法则详解:链式法则、全导数与偏导数的区别

多元复合函数的求导法则,也就是链式法则,是多元微积分里出现频率最高、也最容易翻车的一节。我批改高数作业时,几乎每次都会看到有人把 ( \frac{dz}{dt} ) 写成 ( \frac{\partial z}{\partial t} ),或者在一个变量同时作为自变量和中间变量时彻底理不清求导路径。其实链式法则本身不难,难的是搞清楚“谁跟谁复合、谁是自变量、谁是中间变量”,以及一阶会了之后,二阶怎么办。这篇文章会把一元函数与多元函数复合、多元函数与多元函数复合、混合形式三种情况放在一起拆开讲,配合树形图、全微分和一套检查习惯,争取让你以后看到这类题就直接条件反射。

这篇文章既适合正在学多元微积分的大学生、准备考研但链式法则总算漏项的人,也适合自学高数但被各种偏导符号绕晕的朋友。只要你愿意动笔画一画变量之间的依赖关系,这部分内容完全可以变成送分题。

1. 三种复合形式到底差在哪:先画依赖关系再动手

很多人在计算复合函数导数时出错,不是计算能力不行,而是根本没搞清楚函数之间的“依赖链”。我自己的习惯是:拿到题目先不急着算,先在草稿纸上把变量之间的关系画成一张结构图,然后再决定用全导数还是偏导数。

1.1 一张结构图解决90%的走神

结构图长什么样?举个例子。如果 ( z = f(u,v) ),而 ( u = u(t) ),( v = v(t) ),那么 z 不直接依赖 t,而是通过 u 和 v 间接依赖 t。结构图可以画成:

z → u → t → v → t

意思很明确:要求 ( z ) 对 ( t ) 的变化率,你得分别走 ( z \to u \to t ) 和 ( z \to v \to t ) 两条路,把两条路的结果加起来。这就是链式法则的本质:路径相加,路径上的导数相乘。

再比如 ( z = f(u,v) ),而 ( u = u(x,y) ),( v = v(x,y) ),图就变成:

z → u → x → v → y

这时求 ( z ) 对 ( x ) 的偏导,同样走两条路:( z \to u \to x ) 和 ( z \to v \to x ),但 y 固定住,所以是偏导数。结构图画对了,至少能保证你知道该写几项。

1.2 三类复合与“全导数”“偏导数”的对应

根据中间变量和最终变量的个数,可以把标题里的三类情况整理成一张对照表:

复合形式典型结构最终求导得到什么
一元函数与多元函数复合( z=f(u,v),\ u=u(t),\ v=v(t) )全导数 ( \frac{dz}{dt} )
多元函数与多元函数复合( z=f(u,v),\ u=u(x,y),\ v=v(x,y) )偏导数 ( \frac{\partial z}{\partial x}, \frac{\partial z}{\partial y} )
混合形式( z=f(x,u),\ u=u(x,y) )偏导数,但 ( x ) 这条路径要单独算

这张表的价值在于,它能帮你快速判断最终形式。第一类最终 z 只是一元函数 ( t ) 的函数,所以写 d 不写 ∂;第二类、第三类还保留多个自变量,所以写 ∂ 不写 d。很多同学第一类题目里写了 ( \partial z / \partial t ),本质上是没意识到所有中间变量最终都代入后,z 只是 t 的一元函数。

2. 一元函数嵌入多元函数:d 与 ∂ 的分水岭

第一类复合虽然结构最简单,却是理解“链式法则为什么是链式”的最佳入口。它通常写成 ( z = f(u,v) ),其中 ( u = u(t) ),( v = v(t) )。

2.1 为什么最终得到的是全导数

如果用结构图表示就是 z 通过两条路径到达 t。那么由全导数公式:

[ \frac{dz}{dt} = \frac{\partial f}{\partial u}\frac{du}{dt} + \frac{\partial f}{\partial v}\frac{dv}{dt} ]

注意第一项:( \frac{\partial f}{\partial u} ) 是 f 对中间变量 u 的偏导,因为 f 有 u、v 两个自变量,所以这里必须用偏导;后面的 ( \frac{du}{dt} ) 是 u 对 t 的导数,因为 u 只是 t 的一元函数,所以用全导数 d。很多人把第一项写成 ( \frac{\partial f}{\partial u}\frac{\partial u}{\partial t} ),这就错了。u 只有一个自变量,不存在偏导的概念。

最终代回 u、v 的表达式后,z 只是 t 的一元函数,所以等号左边是 ( \frac{dz}{dt} )。这就是 d 和 ∂ 的分水岭:看最终函数的自变量个数,而不是看中间过程的变量个数。

我把这类问题想成一个流水线:u 和 v 是两道工序,t 是原料,原料先经过第一道工序变成中间半成品,再经过第二道工序变成最终产品。总效率等于每道工序的效率相乘,多条流水线则相加。

2.2 一道路径清晰的求导例题

来看一个具体例子。设:

[ z = f(u,v) = u^2 + \sin v, \quad u = t^2, \quad v = 3t ]

求 ( \frac{dz}{dt} )。按照公式:

[ \frac{dz}{dt} = \frac{\partial f}{\partial u}\frac{du}{dt} + \frac{\partial f}{\partial v}\frac{dv}{dt} = 2u \cdot 2t + \cos v \cdot 3 = 4ut + 3\cos v ]

再把 u、v 换回 t:

[ \frac{dz}{dt} = 4t^3 + 3\cos 3t ]

如果不信任链式法则,你完全可以先代入合并:

[ z = (t^2)^2 + \sin(3t) = t^4 + \sin 3t ]

然后对 t 直接求导,得到 ( 4t^3 + 3\cos 3t )。两个结果一致,说明链式法则没问题。我建议初学者每次都这样“先复合后求导”验算一遍,能极大增强对公式的信任感,也能帮你发现是不是哪条路径漏掉了。

3. 多元函数套多元函数:链式法则的“标准展开”

第二类是考试和作业里的主力题型:( z = f(u,v) ),且 ( u = u(x,y) ),( v = v(x,y) )。这时 z 最终是 x、y 两个自变量的函数,所以一切都是偏导。

3.1 偏导符号的“不可约分”本质

公式是:

[ \frac{\partial z}{\partial x} = \frac{\partial f}{\partial u}\frac{\partial u}{\partial x} + \frac{\partial f}{\partial v}\frac{\partial v}{\partial x} ]

[ \frac{\partial z}{\partial y} = \frac{\partial f}{\partial u}\frac{\partial u}{\partial y} + \frac{\partial f}{\partial v}\frac{\partial v}{\partial y} ]

很多同学问:既然形式上像分式约分,能不能把 ( \frac{\partial f}{\partial u}\frac{\partial u}{\partial x} ) 直接约成 ( \frac{\partial f}{\partial x} )?绝对不能。偏导符号不是普通的除法,它是在保持其他变量不变的前提下对某个变量求变化率,不能像 d 那样机械约分。这也是多元复合求导里最隐蔽的思维陷阱。

我举一个反例。如果 ( f(u,v) = u+v ),( u=x ),( v=y ),那么 ( z = x+y ),( \partial z/\partial x = 1 )。如果硬约分,会得到 ( \frac{\partial f}{\partial u}\frac{\partial u}{\partial x} = 1 \cdot 1 = 1 ),和 ( \frac{\partial f}{\partial v}\frac{\partial v}{\partial x} = 1 \cdot 0 = 0 ),两项相加还是 1。这里碰巧没问题。可一旦 v 不是与 x 无关的,比如 ( v = x+y ),同样 f = u+v,则有 u = x,v = x+y,z = 2x+y,∂z/∂x = 2。如果直接把第一项约成 ∂f/∂x 就会得到 1,漏掉了 v 通过 x 传递的那部分。所以说,链式法则一项都不能少,路径决定项数,路径上的偏导相乘,不同路径相加。

3.2 树形图法怎么用

我比较推荐树形图法,它在计算第二类问题时尤其直观。以 z 为根节点,往下一层写中间变量 u、v,再往下一层写最终自变量 x、y。然后求 ∂z/∂x 时,就从 z 往 x 找路径:

z → u → x → v → x

有多少条路径就有多少项相加。每条路径上经过的边,对应一个偏导因子。比如路径 ( z \to u \to x ) 就对应:

[ \frac{\partial f}{\partial u} \cdot \frac{\partial u}{\partial x} ]

这个“边对应因子、路径相乘、路径相加”的操作规则,我到现在算复杂偏导还在用。它不需要背公式,只需要会画图。

看一个可以直接验证的例子,便于检查正确性:

[ z = uv, \quad u = x^2+y, \quad v = x^2-y ]

链式法则算:

[ \frac{\partial z}{\partial x} = v \cdot 2x + u \cdot 2x = 2x(u+v) = 2x\big((x^2+y)+(x^2-y)\big) = 4x^3 ]

[ \frac{\partial z}{\partial y} = v \cdot 1 + u \cdot (-1) = (x^2-y)-(x^2+y) = -2y ]

直接代入:

[ z = (x^2+y)(x^2-y) = x^4-y^2 ]

求偏导正是 ( \partial z/\partial x = 4x^3 ),( \partial z/\partial y = -2y )。完全一致。这种“链式法则结果 vs 直接代换结果”的双轨验算,是我强烈建议每个人在练习阶段做的事情。练多了之后,你就能一眼看出哪些路径必须存在。

4. 混合形式与变量同名:最容易被绕晕的情况

第三类叫混合形式,一个典型结构是:

[ z = f(x,u), \quad u = u(x,y) ]

注意,这里的 x 既直接作为 f 的自变量,又作为 u 的自变量。于是当你求 ( \partial z/\partial x ) 时,x 有两条路径到达 z:第一条是 ( z \to x ) 直接路径,第二条是 ( z \to u \to x ) 间接路径。这种时候最容易犯的错误,就是只写了直接路径,或者只写了间接路径。

4.1 “两个 x”的严格区分

我用一个最简单的例子说明:

[ z = xu, \quad u = x^2+y^2 ]

那么 ( z = x(x^2+y^2) = x^3 + xy^2 ),所以:

[ \frac{\partial z}{\partial x} = 3x^2 + y^2, \quad \frac{\partial z}{\partial y} = 2xy ]

现在用链式法则。注意 z 同时依赖第一变量 x 和第二变量 u,所以:

[ \frac{\partial z}{\partial x} = \frac{\partial f}{\partial x}\Big|_{\text{保持}u\text{不变}} \cdot 1 + \frac{\partial f}{\partial u} \cdot \frac{\partial u}{\partial x} ]

这里 ( \partial f/\partial x )(保持 u 不变)是 ( u ),而 ( \partial u/\partial x = 2x ),所以:

[ \frac{\partial z}{\partial x} = u \cdot 1 + x \cdot 2x = (x^2+y^2)+2x^2 = 3x^2+y^2 ]

而:

[ \frac{\partial z}{\partial y} = \frac{\partial f}{\partial u}\cdot\frac{\partial u}{\partial y} = x \cdot 2y = 2xy ]

结果和直接代换一致。

为了防止记号混淆,很多教材推荐把对 f 第一个变量、第二个变量的偏导写成 ( f_1' )、( f_2' )。于是上式可以写成:

[ \frac{\partial z}{\partial x} = f_1'(x,u) \cdot 1 + f_2'(x,u) \cdot u_x ]

这样就不会出现“左边的 ∂z/∂x 和右边的 ∂f/∂x 到底是不是同一个东西”的困惑。在处理变量同名问题时,下标记号是救命的。

4.2 用全微分形式不变性兜底

如果画图画到一半乱了,或者题目里的复合关系特别复杂,我通常改用全微分法。全微分有一个很好的性质叫形式不变性:对于 ( z = f(x,u) ),不管 u 是自变量还是中间变量,都有:

[ dz = \frac{\partial f}{\partial x} dx + \frac{\partial f}{\partial u} du ]

再把 ( du = u_x dx + u_y dy ) 代入:

[ dz = \left(\frac{\partial f}{\partial x} + \frac{\partial f}{\partial u}u_x\right) dx + \frac{\partial f}{\partial u}u_y , dy ]

而全微分的系数就是偏导数:

[ \frac{\partial z}{\partial x} = \frac{\partial f}{\partial x} + \frac{\partial f}{\partial u}u_x, \quad \frac{\partial z}{\partial y} = \frac{\partial f}{\partial u}u_y ]

这个方法的优势在于,它不用你纠结 z 到 x 有几条路径,只要你正确写出 dz 的表达式,然后代入所有中间变量的微分,dx 前面的系数自然就是 ( \partial z/\partial x )。对于复杂的混合形式,全微分法几乎不会漏项,因为它本质上是把链式法则嵌进了“系数整理”这个动作里。

我在实际做题时,遇到变量特别多的题会直接跳成全微分法,因为它对“路径意识”的要求更低,更像机械的代数展开,反而不容易犯错。

5. 二阶偏导的复合求导:漏项重灾区

一阶链式法则掌握之后,很多人觉得万事大吉,结果一碰到二阶偏导立马翻车。二阶偏导之所以难,是因为它需要你对一阶偏导的结果继续求偏导,而一阶偏导的结果通常还是复合函数,你必须继续用链式法则。

5.1 一阶结果还带着复合结构

看一个典型例子。设:

[ z = f(u,v), \quad u = x^2+y^2, \quad v = xy ]

先求一阶:

[ \frac{\partial z}{\partial x} = f_u \cdot 2x + f_v \cdot y ]

接下来求 ( \frac{\partial^2 z}{\partial x^2} ),注意 ( f_u ) 和 ( f_v ) 本身仍然是 ( (u,v) ) 的复合函数,所以它们对 x 求偏导还要再用一次链式法则:

[ \frac{\partial}{\partial x}(f_u) = f_{uu} \cdot 2x + f_{uv} \cdot y ]

[ \frac{\partial}{\partial x}(f_v) = f_{vu} \cdot 2x + f_{vv} \cdot y ]

于是:

[ \frac{\partial^2 z}{\partial x^2} = \frac{\partial}{\partial x}(2x f_u) + \frac{\partial}{\partial x}(y f_v) = 2f_u + 2x(2x f_{uu} + y f_{uv}) + y(2x f_{vu} + y f_{vv}) ]

在二阶混合偏导连续的条件下,( f_{uv}=f_{vu} ),所以可以合并:

[ \frac{\partial^2 z}{\partial x^2} = 2f_u + 4x^2 f_{uu} + 4xy f_{uv} + y^2 f_{vv} ]

很多同学第一次算这种题,漏的就是 ( 2f_u ) 这一项。它来自对“系数 ( 2x )”求导,而不是对 f 求导。这提醒我们:对一阶偏导结果继续求偏导时,乘积法则和链式法则要同时使用,不能只盯着 f 的高阶偏导。

5.2 一个具体函数形式的完整展开

为了让过程更清楚,我再给一个能直接算到底的具体函数。设:

[ z = f(u,v) = u^2 v, \quad u = x^2, \quad v = xy ]

直接代入先算一步:

[ z = (x^2)^2 \cdot xy = x^5 y ]

那么 ( \partial z/\partial x = 5x^4 y ),( \partial^2 z/\partial x^2 = 20x^3 y )。下面用链式法则走一遍,你就能看到公式和直接计算结果是不是一致。

一阶偏导:

[ \frac{\partial z}{\partial x} = f_u \cdot u_x + f_v \cdot v_x = (2uv) \cdot 2x + (u^2) \cdot y ]

代入 ( u=x^2,\ v=xy ):

[ = 2(x^2)(xy)\cdot 2x + (x^2)^2 \cdot y = 4x^4 y + x^4 y = 5x^4 y ]

继续求二阶,要小心 ( 2uv ) 和 ( u^2 ) 都还是 x 的复合函数:

[ \frac{\partial^2 z}{\partial x^2} = \frac{\partial}{\partial x}(2uv \cdot 2x) + \frac{\partial}{\partial x}(u^2 y) ]

先看第一部分,( 2uv \cdot 2x = 4xuv ):

[ \frac{\partial}{\partial x}(4xuv) = 4uv + 4x(u_x v + u v_x) = 4(x^2)(xy) + 4x(2x \cdot xy + x^2 \cdot y) = 4x^3y + 4x(2x^2y + x^2y) = 4x^3y + 12x^3y = 16x^3y ]

再看第二部分,( u^2 y = x^4 y ) 对 x 求导是 ( 4x^3y )。两部分相加 ( 20x^3y ),和直接求导的结果一致。

这个例子充分说明,二阶偏导就是把“对复合函数求导”这件事多套了一层。每多求一阶,结构图就变得更深一些。如果你漏写任何一条路径,最终答案的项数就一定不对。

6. 做题检查习惯:路径数、直接代换和对称性

以上三类形式和二阶情况都讲完了,但会算公式不等于算对题。最后分享一些我在实际做题和批改作业过程中总结的检查习惯,这几招能帮你快速判断结果是否可疑。

6.1 路径数检查法

每次写完一个链式法则展开式,先数一数有几项。以 z 为根节点、目标变量为终点,从树形图上看有多少条路径,结果就必须有多少项相加。例如 ( z=f(u,v) ),u 和 v 都依赖 x,那么 z 到 x 的路径是两条,所以 ∂z/∂x 必定两项。如果只写了一项,不用看具体计算,直接判定漏了。

求二阶时也一样。二阶偏导结果的项数会变多。你可以用一个小技巧验证:先把一阶结果想象成一个新的复合函数,再对它画一次树形图,这样每一项“系数”被求导后会产生多少新路径,都能一一对上。

6.2 直接代换验算,检验漏项的最快方法

如果原函数结构允许,比如中间变量替换关系很具体,那么把所有中间变量代回最终函数,变成一个普通多元函数,再直接求偏导,用来和链式法则的结果对照。这是我自己最常用也最推荐的检查方式。

但不是所有题都能直接代换。当题目只给 ( f ) 的抽象形式时,你无法写出 ( z ) 的具体表达式,这时路径数和量纲检查就更重要了。量纲检查是什么意思?如果 x 表示长度,y 表示时间,那么 z 对 x 的偏导结果量纲应该是“z 的量纲除以长度量纲”。链式展开式中每一项都应该保持这个量纲,一旦某项的量纲不对,那多半是漏掉了某个中间变量。

最后,遇到题目里给出对称关系时,可以利用对称性检查。比如 ( z = f(xy, x^2+y^2) ),它在交换 x、y 后保持不变,那么 ( \partial z/\partial x ) 与 ( \partial z/\partial y ) 应当存在某种对称关系。如果算出来不对称,答案多半有误。

6.3 常见错误小清单

我把多年看作业遇到的典型错误汇总在这里,你可以对照自查:

错误类型错误表现正确做法
符号混用把 ( \frac{dz}{dt} ) 写成 ( \frac{\partial z}{\partial t} )最终是一元函数就用 d
漏路径混合形式只写 ( f_1' ),忘了 ( f_2' u_x )按树形图数路径
偏导约分把 ( \frac{\partial f}{\partial u}\frac{\partial u}{\partial x} ) 约成 ( \frac{\partial f}{\partial x} )偏导符号不能约
二阶漏项只对 ( f_u, f_v ) 求导,忽略了乘积系数对一阶结果整体用乘积法则
同名混淆把 ( f_1'(x,u) ) 和 ( \partial z/\partial x ) 混为一谈必要时用 f1', f2' 下标

每个人刚开始学多元复合函数求导时都会错上几道题,这不丢人。关键是错了之后学会用结构图、全微分、直接代换这套组合拳去定位问题出在哪条路径上。你把这几样工具练熟了,不仅复合求导能拿分,后面学隐函数求导、多元函数极值、场论里的梯度散度这些内容都会顺畅很多。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/2 7:45:18

Oracle截取JSON字符串:从SUBSTR到JSON_TABLE的完整方案

简介:面向Oracle数据库开发与运维人员,这份PDF资料聚焦在PL/SQL中提取JSON字符串指定键值这一常见需求,以自编函数parsejsonstr为例,讲解如何通过起始键与结束键精确截取目标内容,适用于数据清洗、接口联调、应用集成等…

作者头像 李华
网站建设 2026/10/2 7:45:12

嵌入式秋招选择指南:嵌软与嵌硬的核心差异与决策逻辑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/2 7:44:31

Vue项目接入支付宝PC支付:扫码支付与跳转支付完整实现指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/2 7:44:26

一级代理商实战指南:从授权谈判到区域保护的运营全攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/2 7:43:49

杰理AC63蓝牙名称稳定显示实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/2 7:43:15

基于协同过滤的新闻推荐系统:Python ItemCF实现与时效性优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华