变量替换与 Jacobian:把难区域换成好坐标
上一章里,极坐标的面积微元是 rdrdθ,柱坐标和球坐标的体积微元里又分别出现了 r 与 ρ2sinϕ。第一次见到这些因子时,很容易把它们当成需要单独背诵的规则:换成极坐标就补一个 r,换成球坐标就补一个 ρ2sinϕ。
可这样记很快就会卡住。只要题目换成一组没见过的新变量,口诀立刻失效。真正通用的问题其实只有一个:新坐标里的一小块,被送回原来的平面或空间后,究竟被拉伸了多少?
Jacobian 回答的就是这个问题。它先把非线性变换在一个点附近看成线性变换,再用行列式计算小面积或小体积的缩放倍数。理解这条主线以后,极坐标、球坐标和一般变量替换就不再是三套互不相干的公式。
坐标一换,小面积也跟着变
设
T(u,v)=(x(u,v),y(u,v))
把 uv 平面中的点送到 xy 平面。我们在 uv 平面里画一个边长为 du、dv 的小矩形,它的面积是 dudv。老办法最容易犯的错,是把它送到 平面后,仍然把面积写成 。
问题在于,du 和 dv 只是参数变化量,不一定是目标平面里的实际边长。沿 u 方向走一点,像点可能向右走、向上走,也可能两个方向同时走;沿 v 方向也是一样。原来的直角小矩形通常会变成一个斜着的、大小也不同的小块。
先看线性变换
(xy)=(a
当 u 增加 du 而 v 不动时,目标平面里的位移向量是
(ac)du
当 v 增加 dv 而 u 不动时,位移向量是
(bd)dv
这两个向量撑起一个平行四边形。它的面积是
∣ad−bc∣dudv
所以 ∣ad−bc∣ 就是面积缩放倍数。若它等于 3,新坐标中的每单位面积会在目标平面里铺出面积 3;若它等于 1/4,面积会被压到原来的四分之一。
下面的交互把这件事直接画出来。可以依次试“放大”“剪切”“翻转”和“压扁”:剪切会改变形状却不一定改变面积,压扁则会让二维小块失去面积。
变量替换不是只换掉公式里的字母。它会同时改变点的坐标、区域的边界以及每个小块的面积。漏掉其中任何一项,得到的都不是原来的积分。
非线性变换为什么仍能用一个矩阵
一般的 T(u,v) 会把直线网格弯成曲线网格。整个平面不可能再由同一个矩阵控制,可如果只盯住点 (u0,v0) 附近极小的一块,弯曲还来不及明显出现,一阶变化已经占了主导。
在这个点附近,两个坐标的增量满足
(ΔxΔy)
中间这张矩阵叫 Jacobian 矩阵,也就是变换 T 在该点的导数矩阵:
DT(u,v)=(xuy
它的第一列 Tu=⟨xu,yu⟩ 告诉我们“只让 u 动”时,像点朝哪里、走多快;第二列 则记录“只让 动”的效果。于是参数平面中的小矩形,局部近似为由 和 撑起的平行四边形。
它的有向面积因子是
J(u,v)=detDT(u,v)=det(
因此真正的面积是
dA≈∣J(u,v)∣dudv

图里远处的网格弯曲程度和疏密都在变化;但把某个小块放大以后,它仍可由两条切向量撑起的平行四边形近似。
下面的交互使用
x=u+qsinv,y=v+psinu
拖动采样点时,局部面积因子会随位置变化。调大弯曲参数以后,还能看到 J 变成负数或接近 0 时,局部取向与网格形状怎样改变。
非线性变量替换的核心节奏是:把区域切得足够细,在每个小块上使用各自的线性近似,再把所有局部贡献加起来。Jacobian 可以随位置变化,正是因为不同位置的拉伸程度本来就可能不同。
行列式的正负与绝对值
行列式不只记录面积大小,还记录两个坐标方向的先后关系。
- J>0 时,u 方向转向 v 方向的取向在映射后保持不变。
- J<0 时,映射像镜面反射那样翻转了取向。
- J=0 时,两条局部方向被压到同一直线上,甚至都被压成零向量,二维面积因此消失。
积分里的普通面积不能为负,所以变量替换公式使用 ∣J∣,而不是 J。负号提供的是取向信息,不是“负面积”。
这个区别可以用一个最小例子看清。设
x=u,y=−2v
则
J=det(100−2)=−2
这个变换把图形上下翻转,同时把竖直方向拉长为原来的 2 倍。面积缩放因子显然是 2,所以 dA=2dudv。
看到 J<0 后把积分整体乘成负数,是把“取向”与“面积”混在了一起。计算面积、质量和普通二重积分时始终使用 ∣J∣;以后处理带方向的曲线或曲面时,符号才会以别的方式重新出现。
二重积分的变量替换公式
设参数平面中的区域 S 经 T 映到 xy 平面中的区域 R。在 T 连续可微、区域内部基本上一一对应,并且除去面积为 0 的少量点外 J 不为 时,变量替换公式是
∬Rf(x,y)dA=∬
这条公式看起来长,实际只要求完成三笔“对账”:
把被积函数中的 x,y 全部写成 u,v。若还剩下无法解释的 x 或 y,换元就没有完成。
正向 Jacobian 与反向 Jacobian
题目有时直接给出 x=x(u,v)、y=y(u,v)。另一些题目却先给 u=u(x,y、。如果反变换存在,两个 Jacobian 矩阵互为逆矩阵:
D(T−1)(T(u,v))=(DT(u,v))
取行列式后得到
∂(u,v)∂(x,y)=
这里默认两边在对应点计算,而且分母不为 0。因此
dA=∂(x,y)
多元情形里,不能把某一个偏导数单独倒过来。例如 ∂r/∂x 通常不等于 1/(∂x/∂r),因为两边保持不动的变量不同。可靠的倒数关系发生在完整的 Jacobian 矩阵及其行列式之间。
先把边界变简单,再决定积分限
变量替换真正省力的地方,往往不在被积函数,而在区域。一个好的新变量通常直接来自边界方程:若两组边分别写成 g(x,y)=c 与 h(x,y)=d,就优先试
u=g(x,y),v=h(x,y)
这样原来斜着或弯着的四条边,到了 uv 平面里可能只是 u=u0、u=u1、、,新区域自然就是矩形。
定限时可以按下面的顺序走。
先列出原区域的每一条边界,并观察哪些表达式在同一组边上保持常数。不要急着算 Jacobian;变量选得不好,后面算得再熟也省不了事。
把边界代入新变量,写出它们对应的是 u 的边还是 v 的边。若有交点,把交点也映过去,检查新区域的角点是否接得上。
选原区域内部的一个测试点,确认不等号方向。只变边界方程、不检查区域落在哪一侧,很容易把内部和外部写反。
例题:把平移椭圆拉回单位圆
设
R:9(x−1)2+4
求
∬R(x−2y)dA
椭圆难写积分限,是因为它相对单位圆做了平移和不等比例拉伸。把这些动作倒过来,令
x=1+3u,y=−2+2v
原区域立即变成
S:u2+v2≤1

先算面积因子:
J=det(30
这个结果还能反过来检查。椭圆面积是 6π,而线性函数 x−2y 在关于中心对称的区域上的平均值,等于它在中心 (1,−2) 的值 5。所以积分应为 5⋅6π。
例题:把斜平行四边形摊成矩形
设 R 由
x−y=0,x−y=2,x+y=1,x+
围成。求
∬R(x+y)dA
四条边已经把新变量写在脸上了。令
u=x−y,v=x+y
那么新区域直接变成
0≤u≤2,1≤v≤4
由 u=x−y、v=x+y 解出反变换:
例题:非线性边界也能变成矩形
设 R 位于第一象限,由两条双曲线 xy=1、xy=4 以及两条射线 y=x、y 围成。求 的面积。
令
u=xy,v=xy
新区域就是
1≤u≤4,1≤v≤9
在第一象限内,反变换唯一写成
x=vu,y=
直接对反变换求导当然可以,但这里算正向 Jacobian 更快:
∂(x,y)∂(u,v)=
于是
dA=2v1dudv
面积为
area(R)=∫14∫19
这个例子说明,变量替换不只会旋转或缩放直线边界。只要新变量顺着边界的“家族”来选,双曲线与射线也能被整理成横平竖直的矩形。
下面的交互把椭圆、斜平行四边形和极坐标扇形放在一起比较。观察重点是每组边界到了新坐标里分别变成了什么常数。
极坐标为什么多出一个 r
现在回头看最熟悉的变换:
x=rcosθ,y=rsinθ
它的 Jacobian 矩阵是
DT(r,θ)=(cosθsinθ
两列分别代表径向小位移和角向小位移。第一列长度是 1,第二列长度是 r,而且两列互相垂直。因此
J=detDT(r,θ)=r
从而
dA=rdrdθ
这正好与几何画面一致:dr 是径向厚度,rdθ 才是角向弧长。Jacobian 没有发明一个额外的 r,它只是把这两条局部边的面积用行列式记了下来。
极坐标也提醒我们注意两个条件。第一,r=0 时 J=0,所有角度都落到同一个原点;第二,θ 相差 2π 的参数表示同一点。做完整圆盘积分时,我们通常取一个长度为 2π 的角度区间,并允许角度区间的两条边在目标平面重合。重复只发生在边界或原点这类面积为 0 的集合上,不会改变普通二重积分。
一一对应与可逆性不能只看 J
J(u0,v0)=0 能保证变换在这个点附近没有把二维小块压扁,并且局部可以反解。这里的关键词是“附近”。它并不自动保证整个大区域上都一一对应。
例如
x=u2−v2,y=2uv
有
J=4(u2+v2)
除原点外,J 都不为 0。可 (u,v) 与 (−u,−v) 总会映到同一个 (x,y),所以在包含这两个点的大区域上,变换仍然会重复覆盖。
使用变量替换公式前,要分开检查两件事:
- 局部是否退化:看 J 是否在区域内部变成 0。
- 全局是否重复:看不同参数点是否会落到同一个目标点。
若只是边界上有少量重合,例如极坐标角度区间的两条边,通常不影响积分。若区域内部被覆盖两次,就必须缩小参数范围、把区域拆成几块,或者在明确知道覆盖次数时作相应修正。
“Jacobian 处处不为零”是局部可逆条件,不是全局一一对应的保证。变量替换题中,画出几条坐标曲线、检查角点与内部测试点,往往比只盯着行列式更能发现重复覆盖。
三重积分中的 3×3 Jacobian
空间里的逻辑没有变化,只是小平行四边形升级成了小平行六面体。设
T(u,v,w)=(x(u,v,w),y(u,v,w),
它的 Jacobian 矩阵是
DT=
三列向量 Tu、Tv、Tw 是参数小长方体三条边在真实空间里的局部像。它们的标量三重积
J(u,v,w)=det
给出有向体积缩放,普通体积则取绝对值:
dV=∣J(u,v,w)∣dudvdw
因此三重积分的换元公式是
∭Ef(x,y,z)
球坐标因子也来自同一个行列式
球坐标变换为
x=ρsinϕcosθ,y=ρsinϕsinθ,z=ρcosϕ
对应的 Jacobian 矩阵是
计算行列式得到
J=ρ2sinϕ
在 0≤ϕ≤π 的常用范围内,sinϕ≥0,于是
dV=ρ2sinϕdρdϕdθ
柱坐标同样是三维变换 x=rcosθ、y=rsinθ、z=z。第三个方向没有缩放,前两个方向仍贡献极坐标的 r,所以 3×3 行列式就是 。
例题:线性空间变换下的积分
令单位立方体 G:0≤u,v,w≤1 通过
x=u+v,y=v+w,z=u+w
映到空间区域 E。求
∭E(x+y+z)dV
先算 3×3 Jacobian:
J=det
验算也很直接:E 的体积是 2,而 x+y+z 在 E 上的平均值是 3,所以积分应为 2⋅。
定限与计算后的验算
变量替换题的错误往往不会在最后一步自己暴露出来。最好在写完新积分后停一下,用几项成本很低的检查把它拦住。
写积分前的检查
- 看边界:原区域的每条边是否都在新区域中找到对应边界?
- 看内部:至少映射一个内部测试点,确认不等号方向和区域位置。
- 看覆盖:新区域是否把原区域恰好覆盖一次?
- 看方向:需要的是 ∂(x,y)/∂(u,v),还是它的倒数?
- 看绝对值:面积与体积因子是否已经取绝对值?
- 看变量:被积函数、微元和积分限是否都只含新变量?
算出结果后的检查
第一种检查是量纲。若 x,y 有长度单位,那么 dA 必须有长度平方单位。极坐标中的 dr 有长度单位,dθ 没有,因此必须由 r 补出另一个长度。
第二种检查是先令 f=1。变量替换公式应退化成区域面积或体积。如果连常数函数都算不出合理的几何大小,通常是 Jacobian 或积分限出了问题。
第三种检查是估计数量级。若区域面积约为 10,且被积函数在区域里始终介于 2 与 5,积分就应在 20 与 50 之间。精确结果跑出这个范围,无须重算全部步骤就知道有错。
第四种检查是利用对称性。关于坐标轴对称的区域上,奇函数项应当抵消;中心对称区域上线性函数的平均值等于中心处的函数值。
第五种检查是正反变换。若两个方向的 Jacobian 都算得出来,它们的乘积应为 1。线性变换尤其适合用这一点快速核对。
常见误区
只换微元,不换函数
把 dA 换成 ∣J∣dudv 后,被积函数中的 x,y 也必须换掉。新积分里同时混着 x,y,u,v,通常意味着工作只做了一半。
把 Jacobian 的方向写反
从 dxdy 换到 dudv,需要的是
∂(u,v)∂(x,y)
若手里算的是 ∂(u,v)/∂(x,y),要在可逆处取倒数。
忘记绝对值
负行列式表示取向翻转。面积和体积仍为正,普通二重、三重积分使用绝对值。
只变边界方程,不检查区域内部
边界变成矩形的四条边,并不自动告诉你矩形内部对应原区域内部。代入一个测试点,才能确认不等号方向。
以为 J 不为零就一定一一对应
J=0 只给出局部可逆性。周期角度、平方映射和其他折叠变换都可能让远处的不同参数点落到同一点。
把 J 等于零一概判成不能积分
若 J=0 只发生在边界或孤立点上,例如极坐标的原点,常规积分通常仍可进行。真正危险的是区域内部出现整片折叠或退化,并造成无法控制的重复覆盖。
练习
练习 1:设 x=2u+v、y=u−v。求 Jacobian、面积缩放因子,并说明取向是否翻转。
Jacobian 为
J=det(211−1)=−
练习 2:用变量替换求椭圆 x2/4+y2/25≤1 的面积。
令 x=2u、y=5v,椭圆变成单位圆 u2+v2≤。Jacobian 为
练习 3:区域 R 由 x+y=0、x+y=3、x−2、 围成。令 、,写出新区域,并求 与 的关系。
新区域是
0≤u≤3,1≤v≤5反变换为
x=
练习 4:设第一象限区域由 xy=2、xy=6、y=2x、y=8x 围成。使用 、 求区域面积。
新区域是 2≤u≤6、2≤v≤8。与正文例题相同,∂(u,v)/∂(,所以
练习 5:直接计算极坐标变换的 Jacobian,并解释为什么 r=0 处与角度区间需要额外小心。
Jacobian 为
J=det(cosθsinθ−rsin
练习 6:设 x=u2−v2、y=2uv。求 Jacobian,并判断能否在圆环 1 上直接把它当成一一对应变换。
Jacobian 为
J=det(2u2v−2v2
练习 7:设单位立方体经 x=2u、y=u+v、z=v+3w 映到区域 。求 的体积。
Jacobian 为
J=det
练习 8:有人把 u=x+y、v=x−y 的换元写成
dxdy=∂(x,y)∂(
指出错误并写出正确结果。
他把 Jacobian 的方向写反了。先算
∂(x,y)∂(u,v)=det
从坐标变换走向向量场
到这里,Jacobian 已经不只是积分前面那个“补上的因子”了。它是一张局部说明书:给它一个很小的参数位移,它会告诉你真实平面或空间里的位移向量;取它的行列式,才进一步得到面积或体积怎样缩放。
下一章研究向量场时,我们会把注意力从“一个小块被坐标变换送到哪里”转向“空间中每一点本身带着怎样的向量”。不过这里的两列或三列偏导向量不会消失。它们已经让我们习惯了一件事:在多元世界里,局部变化不再由一个斜率说完,而要由一组方向共同描述。