切平面、线性化与全微分
上一章里,我们把曲面沿两个坐标方向切开,得到了 fx 和 fy。它们分别回答:“只沿 x 方向走,高度变多快?”以及“只沿 y 方向走,高度变多快?”
但真正走在一张曲面上时,你并不会永远只向东或只向北。你可能斜着走,也可能沿一条弯曲路径走。于是问题来了:两条坐标截线的切线,能不能代表点附近的整小块曲面?
它们确实能确定一个候选平面,但这还不够。这个平面必须同时贴合从所有方向靠近该点的曲面,才配叫曲面的局部线性近似。把“两个方向的斜率”升级成“所有小位移共用的近似”,就是这一章真正要解决的事。

切平面只负责切点附近的一小块;把它延伸得再远,也不会因此更接近原曲面。
两条切线为什么还不够
设曲面由
z=f(x,y)
给出。输入平面上的基准点是 (a,b),曲面上的对应点是
P=(a,b,f(a,b)).
固定 y=b,沿 x 方向得到一条截线。它在 P 点的切向量可以写成
tx=⟨1,0,fx(a,b)⟩.
这里第一个分量是说 x 前进一个小单位,第二个分量表示 y 不动,第三个分量给出高度的一阶变化。
类似地,固定 x=a,沿 y 方向的切向量是
ty=⟨0,1,fy(a,b)⟩.

这两个向量不平行,所以它们和点 P 能唯一确定一个平面。换句话说,偏导数只要存在,我们就总能写出一个候选平面。
可问题并没有到此结束。偏导数只检查了坐标轴方向,好比我们只看了一块布料上横着和竖着的两根纤维。斜着的纤维可能突然翘起。若这种翘起与水平位移是同一个量级,候选平面就没有真正贴住曲面。
两条相交的切线足以确定一个平面,这是几何事实;但这个平面能否统一近似整块局部曲面,是分析问题。前者只需要两个偏导数,后者需要可微性。
我们会先把候选平面算出来,再给出可微性的检验标准。这样你能清楚看到:公式从哪里来,以及什么时候有资格使用它。
从两个偏导推到切平面
任何经过 P=(a,b,f(a,b))、并且能写成 z 关于 x,y 的函数的平面,都可以表示为
z−f(a,b)=A(x−a)+B(y−b).
如果在这个平面上固定 y=b,就得到
z−f(a,b)=A(x−a),
所以它沿 x 方向的斜率是 A。为了贴合曲面的 x 截线,必须令
A=fx(a,b).
同理,固定 x=a 后,平面沿 y 方向的斜率是 B,因此必须令
B=fy(a,b).
于是候选切平面方程只能是
z=f(a,b)+fx(a,b)(x−a)+fy(a,b)(y−b).
只要 f 在 (a,b) 可微,这个候选平面就是真正的切平面。
用向量再核对一次
平面中的两个切向量是
tx=⟨1,0,fx(a,b)⟩,ty=⟨0,1,fy(a,b)⟩.
它们的叉积给出一个法向量。选取符号较方便的一版,可写成
N=⟨fx(a,b),fy(a,b),−1⟩.
所以平面也能写成点法式
N⋅⟨x−a,y−b,z−f(a,b)⟩=0.
展开后仍然得到刚才的切平面公式。这个核对很有用:若你算出的法向量和展开后的平面斜率对不上,通常是 z 分量的符号写反了。
例题:先算点,再算两个斜率
求曲面
z=x2+xy+2y2
在 (1,−1) 上方的切平面。
题目给的是输入坐标 (1,−1),还要先算曲面高度:
f(1,−1)=12+1⋅(−1)+2(−1)2=2.因此切点是 P=(1,−1,2)。少算这一步,就很容易把平面写成经过错误高度的平面。
求两个偏导数:
fx(x,y)=2x+y,fy(x,y)=x+4y.在基准点处,
fx(1,−1)=1,fy(1,−1)=−3.代入“高度加两个斜率贡献”的形式:
z=2+(x−1)−3(y+1).化简后得到
z=x−3y−2.最后做三个快速检查。代入 (x,y)=(1,−1) 得 z=2,说明平面经过切点;x 的系数是 1,等于 fx(1,−1);y 的系数是 −3,等于 fy(1,−1)。三个条件都对上了。
单位也能帮你抓错
假设 x,y 用米表示,z=f(x,y) 用摄氏度表示,那么
fx(a,b)
的单位是“摄氏度每米”。因此
fx(a,b)(x−a)
的单位又回到摄氏度,正好能和 f(a,b) 相加。y 项也必须如此。
切平面公式中的三项都必须和输出 z 同单位。偏导数不是无单位的装饰系数,它是“输出单位除以对应输入单位”的局部敏感度。
切平面写成函数,就是线性化
切平面是一个几何对象。把它右边看成 x,y 的函数,就得到 f 在 (a,b) 处的线性化:
L(x,y)=f(a,b)+fx(a,b)(x−a)+fy(a,b)(y−b).
当 (x,y) 靠近 (a,b) 时,我们用
f(x,y)≈L(x,y)
来估计函数值。
如果写成位移形式
h=x−a,k=y−b,
那么公式变成
f(a+h,b+k)≈f(a,b)+fx(a,b)h+fy(a,b)k.
这个写法更接近实际计算:从一个容易计算的基准点出发,输入分别挪动 h,k,输出的一阶变化就是两个“敏感度乘位移”的和。

线性化为什么叫“线性”
严格说,L(x,y) 含有常数项,所以它对原坐标 (x,y) 是仿射函数。真正的线性部分是
(h,k)⟼fx(a,b)h+fy(a,b)k.
微积分里仍习惯把整套近似叫“线性化”,因为我们关心的是基准点附近的增量关系。常数项负责把平面搬到正确高度,线性部分负责给它正确倾斜。
例题:选一个好算又靠近的基准点
估计
f(2.98,5.04)
其中
f(x,y)=xy+1.
附近的 (3,5) 很合适,因为它离目标点近,而且 3⋅5+1=16 的平方根容易计算。
先算基准值:
f(3,5)=16=4.求偏导数:
fx(x,y)=2xy+1y,fy(x,y)=2xy+1x.所以
fx(3,5)=85,fy(3,5)=83.目标点相对基准点的位移是
h=2.98−3=−0.02,k=5.04−5=0.04.代入线性化:
f(2.98,5.04)≈4+85(−0.02)+83(0.04)=4.0025.这里 x 的减小把结果往下拉,y 的增大把结果往上推;两个一阶贡献相加后,净变化是 0.0025。
选基准点时可以按三个条件检查:它要在函数定义域内,要离目标点近,还要让函数值与偏导数容易计算。只满足“好算”却离得很远,线性化往往不可靠。
可微性:一个平面要同时管住所有方向
现在把“曲面真的能由这个平面近似”写成精确条件。令
r=h2+k2
表示输入位移 (h,k) 的长度。若存在一个线性函数
Ah+Bk
使得
f(a+h,b+k)−f(a,b)=Ah+Bk+R(h,k),
并且
h2+k2R(h,k)→0当 (h,k)→(0,0),
就说 f 在 (a,b) 可微。
这里最关键的不是 R(h,k)→0。只要求误差趋近于零太弱了,因为任何连续函数减去常数都会有这个性质。真正的要求是:误差相对于输入距离也要变得可以忽略。
如果这个线性主部存在,它的系数不会有第二种选择。令 k=0,定义式就退化为 x 方向的差商,所以
A=fx(a,b).
再令 h=0,得到
B=fy(a,b).
因此可微时,统一的线性主部必定是
fx(a,b)h+fy(a,b)k.
可微、连续和偏导存在的关系
这几个条件很容易混在一起,可以这样整理:
“偏导在附近连续”是非常实用的充分条件,但不是可微的定义,也不是必要条件。面对多项式、指数、三角函数以及它们在正常定义域内的组合时,这个充分条件通常已经够用。
反例:坐标轴上都很平,斜线却翘起来
定义
f(x,y)=⎩⎨⎧x2+y2xy,0,(x,y)=(0,0),(x,y)=(0,0).
这个函数在原点是连续的。由
2∣xy∣≤x2+y2
可得
∣f(x,y)∣≤21x2+y2→0.
所以问题并不出在函数值突然跳跃,而是出在它没有统一的一阶平面。
先看 x 轴。因为 f(h,0)=0,所以
fx(0,0)=0.
再看 y 轴。因为 f(0,k)=0,所以
fy(0,0)=0.
两个坐标方向都给出水平切线,于是候选平面只能是
z=0.
现在沿对角线 y=x 靠近原点。取 (x,y)=(t,t),则
f(t,t)=2t2t2=2∣t∣.
输入距离是
t2+t2=2∣t∣.
因此候选平面的误差与输入距离之比为
t2+t2∣f(t,t)−0∣=21.
这个比值没有趋向 0。也就是说,沿坐标轴看不到的问题,沿对角线马上暴露了。函数在原点连续,两个偏导也都存在,但它不可微。

检查两条坐标轴、几条直线,甚至每一条固定直线,都不能代替可微性的二维极限。可微性要求所有靠近方式共享同一个线性主部,并且误差相对输入距离趋近于零。
误差为什么会退到更小的量级
可微性的定义可以简写成
Δf=fx(a,b)h+fy(a,b)k+o(r),
其中
r=h2+k2.
o(r) 的意思是:余项除以 r 后趋近于 0。所以当观察尺度缩小时,线性部分与 r 同阶,而余项比 r 更快缩小。你把局部不断放大,曲面的弯曲就会退到背景里,留下近似平面。

如果函数还有连续的二阶偏导,而且研究区域内 Hessian 的大小有界,那么通常能把误差说得更具体。若沿基准点到目标点的线段上有
∥Hf∥≤M,
则线性化余项满足
∣R(h,k)∣≤2M(h2+k2).
这时误差至多是距离平方的量级。把输入位移整体缩小一半,一阶变化大约缩小到一半,而二阶误差大约缩小到四分之一。
“二阶误差”需要额外的二阶光滑条件;仅由可微性本身能保证的是误差为 o(r)。这两个说法不要混用。
局部不等于全局
切平面会无限延伸,但可靠范围不会。函数弯得越厉害,允许的位移通常越小。不同方向的弯曲程度还可能不同,所以不能只凭“h 和 k 看起来都是小数”就断定近似足够好。
判断线性近似是否值得信任,至少看四件事:目标点离基准点多远,函数在这段区域内弯曲多强,目标点是否仍在同一块定义域内,以及题目需要几位精度。如果有条件,最后用原式回代一次,比较真实值和近似值。
全微分:把高度近似改写成变化量近似
在线性化里,把输入的小变化记成 dx,dy,把线性模型预测的输出变化记成 dz,就得到
dz=fx(x,y)dx+fy(x,y)dy.
这叫全微分。它和切平面、线性化不是三套互不相干的公式,而是同一件事的三种说法:
dz 和 Δz 不是同一个量
从真实曲面出发,输入从 (x,y) 变到 (x+dx,y+dy) 时,输出的精确变化是
Δz=f(x+dx,y+dy)−f(x,y).
全微分给出的则是切平面上的变化:
dz=fx(x,y)dx+fy(x,y)dy.
在切平面上,dz 与 dx,dy 的关系是精确等式;在原曲面上,我们只有
Δz≈dz.
当 f 可微且位移足够小时,这个近似才有依据。

把全微分读成“敏感度乘变化量”
公式
dz=fxdx+fydy
可以逐项读:fx 是输出对 x 的局部敏感度,乘上 x 的小变化 dx,得到 x 通道对输出的贡献;fydy 是 y 通道的贡献。两个通道同时发生,所以最后相加。
如果函数有三个独立输入,逻辑完全一样。对 w=f(x,y,z),
dw=fxdx+fydy+fzdz.
输入再多,也只是把每个“一阶敏感度乘对应小变化”加起来。
测量误差怎样沿公式传播
实际测量里常见两种信息,处理方式不同。
第一种是已知带符号的小改变量,例如温度升高 0.2 度、长度减少 0.01 米。这时直接把带符号的 dx,dy 代入 dz,不同通道可能相互加强,也可能抵消。
第二种是只知道误差范围,例如
∣dx∣≤εx,∣dy∣≤εy.
这时不知道误差方向。对全微分使用三角不等式,得到一阶最坏情形估计
∣dz∣≤∣fx(x,y)∣εx+∣fy(x,y)∣εy.
注意这个不等式严格约束的是 ∣dz∣。把它用于真实误差 ∣Δz∣ 时,仍然是在做线性近似;若题目要求严格误差界,还要把高阶余项估计进去。
例题:圆柱体体积的测量误差
圆柱体体积为
V=πr2h.
测得半径 r=5 cm、高度 h=12 cm。半径误差不超过 0.02 cm,高度误差不超过 0.05 cm。估计体积的最大误差和相对误差。
先求两个敏感度:
Vr=2πrh,Vh=πr2.因此全微分为
dV=2πrhdr+πr2dh.只知道误差上限,不知道正负,所以做最坏情形估计:
∣dV∣≤2πrh∣dr∣+πr2∣dh∣.代入测量值和误差范围:
∣dV∣≤2π⋅5⋅12⋅0.02+π⋅25⋅0.05=3.65π cm3.所以体积误差的一阶估计约不超过
3.65π≈11.47 cm3.测得体积是
V=π⋅52⋅12=300π cm3.相对误差的一阶估计为
V∣dV∣≤300π3.65π≈0.0122=1.22%.最后检查单位。Vr=2πrh 的单位是 cm2,乘 dr 的 cm 后得到 cm3;Vh=πr2 也以 cm2 为单位,乘 dh 后同样得到 cm3。两项可以相加。
相对误差有时能直接化简
对
V=πr2h,
把全微分除以 V,得到
VdV=2rdr+hdh.
这个式子很直观:半径的相对变化会被放大两倍,因为 r 在体积公式里是二次方;高度的一阶相对变化则原样进入。若只知道误差上限,就写成
V∣dV∣≤2r∣dr∣+h∣dh∣.
这种相对误差公式必须是无单位的。若化简后还留下厘米、秒或摄氏度,说明某一步的量纲没有对齐。
一套可靠的局部近似流程
面对切平面、线性化或误差传播题,可以沿同一条路线做,不必分别背三套步骤。
先确认基准点。题目给出的 (a,b) 通常只是输入坐标,要另外计算 f(a,b)。若是近似函数值,则选择一个离目标点近、又容易算的基准点。
确认函数在基准点附近有定义,并判断是否可微。最常用的办法是检查一阶偏导在附近是否存在且连续;若函数是分段定义或含尖点,就不能跳过这一步。
在同一个基准点计算 f(a,b)、fx(a,b) 和 fy(a,b)。不要在目标点算一部分、在基准点算另一部分。
根据问题选择表达形式。求几何平面就写 z=L(x,y);估计函数值就算 L(x,y);估计变化量就写 df=fxdx+fydy。
检查位移是否真的小、是否越过定义域边界,再核对单位。若能计算原函数,就用真实值回看近似误差。
几个容易踩中的坑
不要因为平面公式写得出来,就自动宣布函数可微。两个偏导数给出的是候选平面;可微性才保证它是统一的一阶近似。
不要把 Δz=dz 当成一般恒等式。函数本身是仿射函数时二者才处处相等;对弯曲曲面,通常只有在小位移下 Δz≈dz。
还有三类计算错误也很常见。第一,把偏导数算在目标点,却把常数项放在基准点;第二,做最坏误差估计时保留正负号,错误地依赖“恰好抵消”;第三,只看小数位数判断位移小,却不看单位和函数弯曲程度。0.01 千米和 0.01 毫米不是同一个尺度。
练习
切平面与线性化
练习 1 求
f(x,y)=ln(x+2y)
在 (1,1) 处的切平面,并检查各项是否经过切点。
先算高度:
f(1,1)=ln3.偏导数是
fx(x,y)=x+2y1,fy(x,y)=x+2y2.因此
fx(1,1)=31,fy(1,1)=32.切平面为
z=ln3+31(x−1)+32(y−1).代入 (x,y)=(1,1) 后两个增量项都为 0,得到 z=ln3,所以平面确实经过切点 (1,1,ln3)。
练习 2 用线性化估计
x+2y
在 (6.1,4.95) 处的值。取基准点 (6,5),并解释为什么一阶修正恰好为零。
令
f(x,y)=x+2y.在基准点,
f(6,5)=16=4.偏导数为
fx(x,y)=2x+2y1,fy(x,y)=x+2y1.所以
fx(6,5)=81,fy(6,5)=41.位移为
h=0.1,k=−0.05.线性化给出
f(6.1,4.95)≈4+81(0.1)+41(−0.05)=4.这里
81(0.1)=0.0125,41(−0.05)=−0.0125,两个一阶贡献正好抵消。事实上,目标点仍满足 x+2y=16,所以真实值也恰好是 4;这次相等来自目标点落在同一条等值线上,不代表线性化通常没有误差。
可微性与余项
练习 3 设
f(x,y)=x2y+exy.
判断它在 (0,0) 是否可微,并写出切平面。
函数由多项式、指数函数和乘法组成,一阶偏导在整个平面连续,所以函数在 (0,0) 可微。
先算
f(0,0)=1.偏导数是
fx(x,y)=2xy+yexy,fy(x,y)=x2+xexy.在原点,
fx(0,0)=0,fy(0,0)=0.因此线性化是 L(x,y)=1,切平面为
z=1.平面水平不表示函数附近恒等于 1,只表示所有一阶变化都为零,剩下的变化来自更高阶项。
练习 4 定义
g(x,y)=⎩⎨⎧x4+y2x2y,0,(x,y)=(0,0),(x,y)=(0,0).
判断 gx(0,0)、gy(0,0) 是否存在,并说明 g 在原点是否可微。
沿 x 轴有 g(h,0)=0,所以
gx(0,0)=0.沿 y 轴有 g(0,k)=0,所以
gy(0,0)=0.但沿抛物线路径 y=x2,
g(x,x2)=x4+x4x2⋅x2=21.当 x→0 时函数值没有趋向 0=g(0,0),所以 g 在原点甚至不连续,更不可能可微。这个例子说明,只检查坐标轴会漏掉很多靠近方式。
全微分与误差
练习 5 长方形面积为 A=xy。测得 x=30 cm、y=20 cm,且
∣dx∣≤0.1 cm,∣dy∣≤0.08 cm.
用全微分估计面积误差的上限,并给出相对误差。
面积的全微分是
dA=ydx+xdy.因此
∣dA∣≤∣y∣∣dx∣+∣x∣∣dy∣≤20(0.1)+30(0.08)=4.4 cm2.测得面积为
A=30⋅20=600 cm2.所以相对误差的一阶估计为
A∣dA∣≤6004.4≈0.00733=0.733%.单位检查也成立:ydx 和 xdy 都是厘米乘厘米,结果是平方厘米。
练习 6 圆锥体体积为
V=31πr2h.
若 r 增加 1%、h 减少 2%,用全微分估计体积的相对变化。
先求全微分:
dV=32πrhdr+31πr2dh.除以
V=31πr2h得到
VdV=2rdr+hdh.题目给出
rdr=1%,hdh=−2%.因此
VdV≈2(1%)−2%=0.两个一阶贡献抵消,所以体积的一阶相对变化约为 0。真实变化并不严格为零,因为还会留下二阶及更高阶项。
为下一章做准备
练习 7 设
z=f(x,y)=x2+xy,
而输入随参数 t 变化:
x=1+2t,y=3−t.
用全微分估计从 t=0 增加一个很小的 dt 时,z 的变化。
在 t=0 时,
x=1,y=3.输入变化是
dx=2dt,dy=−dt.函数的偏导数为
fx=2x+y,fy=x.在 (1,3) 处,
fx(1,3)=5,fy(1,3)=1.所以
dz=fxdx+fydy=5(2dt)+1(−dt)=9dt.也就是说,t 每增加一个很小单位,z 约增加 9 倍的这个小单位。下一章会把两边同时除以 dt,得到多变量链式法则。
从局部平面走向变量依赖
这一章把上一章的两个偏导数合成了一个统一的线性模型:
df=fxdx+fydy.
到这里,我们仍把 dx,dy 当作可以独立给定的小变化。现实里它们常常由同一个参数牵着走:时间一变,x 和 y 同时变;生产规模一变,成本和耗时一起变。
这时只要继续问一句:“dx 和 dy 各自是怎么由那个参数产生的?”全微分就会自然变成下一章的多变量链式法则。切平面提供局部地图,链式法则负责描述我们怎样沿着这张地图移动。