偏导数:多元函数没有“唯一斜率”
上一章讨论多变量极限与连续性时,我们反复强调一件事:从 ( x , y ) (x,y) ( x , y ) 靠近一点,可以走无数条路径。现在要研究“函数在一点变化得多快”,同一个麻烦又回来了,而且这次躲不过去。
一元函数只有一个输入。站在数轴上的某一点,你能做的局部移动无非是让 x x x 增加或减少,所以导数可以用一个数概括那里的斜率。可是在平面上,向东、向北、向东北,甚至沿一条弯曲路径出发,都是不同的移动方式。同一张曲面在这些方向上可能一边上升、一边下降,还可能在另一个方向上暂时不升不降。于是,“这个点的斜率是多少”已经不是一个完整的问题——你得先说清楚往哪儿走。
偏导数的办法很克制:先不急着处理所有方向,一次只放开一个坐标。研究 x x x 方向时,把 y y y 钉住;研究 y y y 方向时,把 x x x 钉住。这样就把一张曲面切成了一条曲线,也把一个多变量问题暂时退回了熟悉的一元微积分。
偏导数没有给曲面安排一个“总斜率”,而是先记录两个坐标方向上的截线斜率。
偏导数只回答“其他独立变量保持不变时,这一个变量造成的瞬时变化有多快”。它很有用,但它还不是函数在这个点附近的完整线性模型。
把多元问题退回一元
设曲面由
z = f ( x , y ) z=f(x,y) z = f ( x , y )
给出,我们关心输入点 ( a , b ) (a,b) ( a , b ) 。
如果把 y y y 固定为 b b b ,只让 x x x 变化,就得到一元函数
g ( x ) = f ( x , b ) . g(x)=f(x,b). g ( x ) = f ( x , b ) .
g ′ ( a ) g'(a) g ′ ( a ) 是这条一元曲线在 x = a x=a x = a 处的斜率。我们把它叫作 f f f 在 ( a , b ) (a,b) ( a , b ) 处关于 x x x 的偏导数:
f x ( a , b ) = ∂ f ∂ x ( a , b ) = lim h → 0 f ( a + h , b ) − f ( a , b ) h . f_x(a,b)
=\frac{\partial f}{\partial x}(a,b)
=\lim_{h\to0}\frac{f(a+h,b)-f(a,b)}{h}. f x ( a , b ) = ∂ x ∂ f ( a , b ) = h → 0 lim h f ( a + h , b ) − f ( a , b ) .
反过来,把 x x x 固定为 a a a ,只让 y y y 变化,得到
q ( y ) = f ( a , y ) , q(y)=f(a,y), q ( y ) = f ( a , y ) ,
于是
f y ( a , b ) = ∂ f ∂ y ( a , b ) = lim k → 0 f ( a , b + k ) − f ( a , b ) k . f_y(a,b)
=\frac{\partial f}{\partial y}(a,b)
=\lim_{k\to0}\frac{f(a,b+k)-f(a,b)}{k}. f y ( a , b ) = ∂ y ∂ f ( a , b ) = k → 0 lim k f ( a , b + k ) − f ( a , b ) .
这里故意用了两个不同的步长字母 h h h 和 k k k 。求 f x f_x f x 时,输入点从 ( a , b ) (a,b) ( a , b ) 移到 ( a + h , b ) (a+h,b) ( a + h , b ) ;求 f y f_y f y 时,输入点从 ( a , b ) (a,b) ( a , b ) 移到 ( a , b + k ) (a,b+k) ( a , b + k ) 。两次差商只沿两条坐标线取点。
记号到底在说什么
下面几种写法通常表示同一件事:
f x = ∂ f ∂ x = ∂ z ∂ x . f_x
=\frac{\partial f}{\partial x}
=\frac{\partial z}{\partial x}. f x = ∂ x ∂ f = ∂ x ∂ z .
符号 ∂ \partial ∂ 提醒我们:函数还有别的输入,只是当前只让 x x x 动。它不是装饰版的 d d d 。如果后来 x = x ( t ) x=x(t) x = x ( t ) 、y = y ( t ) y=y(t) y = y ( t ) 都随着 t t t 改变,那么 d z / d t dz/dt d z / d t 会同时收到两个变量的影响,那是链式法则要处理的问题。
“把 y y y 当常数”不等于“令 y = 0 y=0 y = 0 ”。它的意思是:不管当前 y y y 是 2 2 2 、− 5 -5 − 5 还是某个参数,都保持这个值不变。比如对 x y xy x y 求 x x x 偏导得到 y y y ,不是 0 0 0 。
例题:从定义亲手算一次
设
f ( x , y ) = x 2 + 3 x y − y 2 . f(x,y)=x^2+3xy-y^2. f ( x , y ) = x 2 + 3 x y − y 2 .
用差商定义求 f x ( 1 , 2 ) f_x(1,2) f x ( 1 , 2 ) 和 f y ( 1 , 2 ) f_y(1,2) f y ( 1 , 2 ) 。
先算基准点的函数值:
f ( 1 , 2 ) = 1 + 6 − 4 = 3. f(1,2)=1+6-4=3. f ( 1 , 2 ) = 1 + 6 − 4 = 3. 求 x x x 偏导时固定 y = 2 y=2 y = 2 ,只把 x = 1 x=1 x = 1 改成 1 + h 1+h 1 + h :
f ( 1 + h , 2 ) = ( 1 + h ) 2 + 6 ( 1 + h ) − 4 = 3 + 8 h + h 2 . f(1+h,2)
=(1+h)^2+6(1+h)-4
=3+8h+h^2. f ( 1 + h , 2 ) = ( 1 + h ) 2 + 6 ( 1 + h ) − 4 = 3 + 8 h + h 2 . 因而
f x ( 1 , 2 ) = lim h → 0 8 h + h 2 h = lim h → 0 ( 8 + h ) = 8. f_x(1,2)
=\lim_{h\to0}\frac{8h+h^2}{h}
=\lim_{h\to0}(8+h)
=8. f x ( 1 , 2 ) = h → 0 lim h 8 h + h 2 = h → 0 lim ( 8 + h ) = 8. 求 y y y 偏导时固定 x = 1 x=1 x = 1 ,只把 y = 2 y=2 y = 2 改成 2 + k 2+k 2 + k :
f ( 1 , 2 + k ) = 1 + 3 ( 2 + k ) − ( 2 + k ) 2 = 3 − k − k 2 . f(1,2+k)
=1+3(2+k)-(2+k)^2
=3-k-k^2. f ( 1 , 2 + k ) = 1 + 3 ( 2 + k ) − ( 2 + k ) 2 = 3 − k − k 2 . 所以
f y ( 1 , 2 ) = lim k → 0 − k − k 2 k = lim k → 0 ( − 1 − k ) = − 1. f_y(1,2)
=\lim_{k\to0}\frac{-k-k^2}{k}
=\lim_{k\to0}(-1-k)
=-1. f y ( 1 , 2 ) = k → 0 lim k − k − k 2 = k → 0 lim ( − 1 − k ) = − 1. 两个结果的正负已经给出局部画面:固定 y = 2 y=2 y = 2 向 x x x 正方向走,函数值上升;固定 x = 1 x=1 x = 1 向 y y y 正方向走,函数值下降。两个方向的斜率不需要相同,甚至可以一正一负。
定义告诉我们偏导数究竟是什么;实际计算时通常不必每次重做差商。后面会把这一步压缩成更熟悉的求导规则。
几何上,它是竖直截线的切线斜率
把曲面 z = f ( x , y ) z=f(x,y) z = f ( x , y ) 想成一座起伏的地形。固定 y = b y=b y = b ,相当于拿竖直平面 y = b y=b y = b 去切这座地形。平面与曲面的交线是
z = f ( x , b ) , z=f(x,b), z = f ( x , b ) ,
它是一条普通的一元曲线。这条截线在
P = ( a , b , f ( a , b ) ) P=(a,b,f(a,b)) P = ( a , b , f ( a , b ))
处的切线斜率就是 f x ( a , b ) f_x(a,b) f x ( a , b ) 。
固定 x = a x=a x = a 时则用另一个竖直平面去切,交线 z = f ( a , y ) z=f(a,y) z = f ( a , y ) 在 P P P 点的斜率是 f y ( a , b ) f_y(a,b) f y ( a , b ) 。不要把这两种竖直截线和上一章的等高线混在一起:等高线来自水平平面 z = c z=c z = c ,它描述“哪里高度相同”;偏导截线来自竖直平面,它描述“沿一个坐标方向怎样升降”。
例题:一个方向水平,另一个方向上升
看距离函数
r ( x , y ) = x 2 + y 2 . r(x,y)=\sqrt{x^2+y^2}. r ( x , y ) = x 2 + y 2 .
在原点之外,链式法则给出
r x ( x , y ) = x x 2 + y 2 , r y ( x , y ) = y x 2 + y 2 . r_x(x,y)=\frac{x}{\sqrt{x^2+y^2}},
\qquad
r_y(x,y)=\frac{y}{\sqrt{x^2+y^2}}. r x ( x , y ) = x 2 + y 2 x , r y ( x , y ) = x 2 + y 2 y .
站在 ( 0 , 2 ) (0,2) ( 0 , 2 ) 时,
r x ( 0 , 2 ) = 0 , r y ( 0 , 2 ) = 1. r_x(0,2)=0,
\qquad
r_y(0,2)=1. r x ( 0 , 2 ) = 0 , r y ( 0 , 2 ) = 1.
这不难想象。固定 y = 2 y=2 y = 2 左右移动时,你正处在截线 x 2 + 4 \sqrt{x^2+4} x 2 + 4 的最低点,瞬时斜率为 0 0 0 ;固定 x = 0 x=0 x = 0 向上移动时,截线是 ∣ y ∣ |y| ∣ y ∣ ,在 y = 2 y=2 y = 2 处斜率为 1 1 1 。
可是到了原点,情况变了:
r x ( 0 , 0 ) = lim h → 0 ∣ h ∣ h r_x(0,0)
=\lim_{h\to0}\frac{|h|}{h} r x ( 0 , 0 ) = h → 0 lim h ∣ h ∣
不存在,r y ( 0 , 0 ) r_y(0,0) r y ( 0 , 0 ) 也一样。函数在原点明明连续,偏导数却不存在,因为圆锥尖端的两侧斜率接不上。连续只保证高度没有跳变,并不保证截线有切线。
只有等高线时,怎样读出偏导的正负
真实问题不总会给出曲面公式。有时你只有地形图、气压图或温度图。此时仍然可以从等高线判断偏导数。
在点 ( a , b ) (a,b) ( a , b ) 判断 f x ( a , b ) f_x(a,b) f x ( a , b ) ,就从这个点向右迈一小步:等高线标值变大,f x > 0 f_x>0 f x > 0 ;标值变小,f x < 0 f_x<0 f x < 0 ;若向右的局部移动几乎不改变高度,f x f_x f x 接近 0 0 0 。判断 f y f_y f y 时,把“向右”换成“向上”。
等高线的疏密还给出绝对值的线索。若相邻等高线代表相同的高度差,那么同样走 0.1 0.1 0.1 个水平单位,跨过的线越多,高度变化就越大,对应偏导数的绝对值通常越大。
等高线最密的方向可能是斜着的。判断 f x f_x f x 时只能沿水平方向读,判断 f y f_y f y 时只能沿竖直方向读。偏导数记录的是坐标方向斜率,不一定是最陡方向的斜率。
计算时,只让目标变量动
差商定义把概念钉牢之后,计算就可以退回一元求导:对 x x x 求偏导时,使用一元微积分的幂函数、乘积、商与链式法则,只把所有不含 x x x 的量看成常数;对 y y y 求偏导时反过来。
第一行最能看出“常数”和“零”的区别。求 x x x 偏导时,y y y 不动,但它仍然作为系数留在答案里;只有整个一项都不含 x x x 时,它对 x x x 的偏导才是 0 0 0 。
例题:乘积与链式法则一起出现
设
f ( x , y ) = e x y + x 2 sin y − y 3 . f(x,y)=e^{xy}+x^2\sin y-y^3. f ( x , y ) = e x y + x 2 sin y − y 3 .
求 f x f_x f x 和 f y f_y f y 。
求 f x f_x f x 时把 y y y 固定。e x y e^{xy} e x y 的外层仍是指数函数,内层 x y xy x y 对 x x x 的导数是 y y y ,所以
∂ ∂ x e x y = y e x y . \frac{\partial}{\partial x}e^{xy}=ye^{xy}. ∂ x ∂ e x y = y e x y . x 2 sin y x^2\sin y x 2 sin y 对 x x x 求导时,sin y \sin y sin y 是固定系数;− y 3 -y^3 − y 3 完全不随 x x x 变化。因此
f x ( x , y ) = y e x y + 2 x sin y . f_x(x,y)=ye^{xy}+2x\sin y. f x ( x , y ) = y e x y + 2 x sin y . 求 f y f_y f y 时把 x x x 固定。指数项给出 x e x y xe^{xy} x e x y ,第二项给出 x 2 cos y x^2\cos y x 2 cos y ,最后一项给出 − 3 y 2 -3y^2 − 3 y 2 。所以
f y ( x , y ) = x e x y + x 2 cos y − 3 y 2 . f_y(x,y)=xe^{xy}+x^2\cos y-3y^2. f y ( x , y ) = x e x y + x 2 cos y − 3 y 2 .
输入不一定叫 x x x 和 y y y
偏导数关心的是“哪些量被当作变量”,而不是字母长什么样。理想气体模型写成
P ( T , V ) = n R T V , P(T,V)=\frac{nRT}{V}, P ( T , V ) = V n R T ,
其中 T T T 和 V V V 是变量,n n n 与 R R R 在这个模型中固定。于是
∂ P ∂ T = n R V , ∂ P ∂ V = − n R T V 2 . \frac{\partial P}{\partial T}=\frac{nR}{V},
\qquad
\frac{\partial P}{\partial V}=-\frac{nRT}{V^2}. ∂ T ∂ P = V n R , ∂ V ∂ P = − V 2 n R T .
没有 ∂ P / ∂ R \partial P/\partial R ∂ P / ∂ R ,不是因为不能对字母 R R R 求导,而是因为当前模型已经把 R R R 指定为常数。若研究对象换了,变量和常数的角色也可以换。
三个或更多输入也没有新规则。例如
F ( x , y , z ) = x 2 + y 2 + z 2 F(x,y,z)=x^2+y^2+z^2 F ( x , y , z ) = x 2 + y 2 + z 2
有
F x = 2 x , F y = 2 y , F z = 2 z . F_x=2x,
\qquad
F_y=2y,
\qquad
F_z=2z. F x = 2 x , F y = 2 y , F z = 2 z .
每次仍然只放开一个变量。
数值之外,还要读出单位和物理含义
偏导数是“输出变化量除以某一个输入变化量”,所以单位不能丢。设 x , y x,y x , y 用千米表示,温度场 T ( x , y ) T(x,y) T ( x , y ) 用摄氏度表示,那么
T x , T y T_x, T_y T x , T y
的单位都是“摄氏度每千米”。它们不是温度,而是沿指定方向的温度变化率。
看一个具体模型:
T ( x , y ) = 18 + 2 x − y 2 4 . T(x,y)=18+2x-\frac{y^2}{4}. T ( x , y ) = 18 + 2 x − 4 y 2 .
于是
T x = 2 , T y = − y 2 . T_x=2,
\qquad
T_y=-\frac{y}{2}. T x = 2 , T y = − 2 y .
在 ( 3 , 2 ) (3,2) ( 3 , 2 ) 处,
T x ( 3 , 2 ) = 2 ∘ C / k m , T y ( 3 , 2 ) = − 1 ∘ C / k m . T_x(3,2)=2\ {^\circ\mathrm C}/{\mathrm{km}},
\qquad
T_y(3,2)=-1\ {^\circ\mathrm C}/{\mathrm{km}}. T x ( 3 , 2 ) = 2 ∘ C / km , T y ( 3 , 2 ) = − 1 ∘ C / km .
第一项表示:暂时保持南北位置不变,向东移动一小段,温度大约每千米升高 2 ∘ C 2^\circ\mathrm C 2 ∘ C 。第二项表示:保持东西位置不变,向北移动一小段,温度大约每千米降低 1 ∘ C 1^\circ\mathrm C 1 ∘ C 。
如果只向东走 0.05 0.05 0.05 千米,局部温度变化约为
Δ T ≈ T x ( 3 , 2 ) ⋅ 0.05 = 0.1 ∘ C . \Delta T\approx T_x(3,2)\cdot0.05=0.1^\circ\mathrm C. Δ T ≈ T x ( 3 , 2 ) ⋅ 0.05 = 0. 1 ∘ C .
这里的“约”很重要。偏导数是瞬时变化率,乘上一个很小的位移才给出局部变化的近似;走得很远以后,斜率本身可能已经变了。
同样,∂ P / ∂ T \partial P/\partial T ∂ P / ∂ T 的单位是“压强每温度”,∂ P / ∂ V \partial P/\partial V ∂ P / ∂ V 的单位是“压强每体积”。两个偏导数即使数值碰巧相同,也未必能直接比较,因为单位可能不同。
在物理和经济模型里,“固定其他变量”还代表一个实验条件。说 ∂ P / ∂ T \partial P/\partial T ∂ P / ∂ T 时,你必须想象体积确实被控制不变;如果加热过程中体积也在变化,真实的总变化率就不能只用这个偏导数描述。
两个偏导都为零,也未必站在山顶或谷底
一元函数在内部极值点常有 f ′ ( a ) = 0 f'(a)=0 f ′ ( a ) = 0 。到了二元函数,我们自然会寻找
f x ( a , b ) = 0 , f y ( a , b ) = 0. f_x(a,b)=0,
\qquad
f_y(a,b)=0. f x ( a , b ) = 0 , f y ( a , b ) = 0.
但这两条等式只说两条坐标截线都暂时水平,还不能保证这个点是最高或最低。
例如
f ( x , y ) = y 2 − x 2 . f(x,y)=y^2-x^2. f ( x , y ) = y 2 − x 2 .
它的偏导数是
f x = − 2 x , f y = 2 y , f_x=-2x,
\qquad
f_y=2y, f x = − 2 x , f y = 2 y ,
所以原点处两个偏导都为 0 0 0 。可沿 x x x 轴走,
f ( x , 0 ) = − x 2 ≤ 0 ; f(x,0)=-x^2\le0; f ( x , 0 ) = − x 2 ≤ 0 ;
沿 y y y 轴走,
f ( 0 , y ) = y 2 ≥ 0. f(0,y)=y^2\ge0. f ( 0 , y ) = y 2 ≥ 0.
原点在一个截面上像山顶,在另一个截面上却像谷底。这种点叫鞍点。它提醒我们:一阶偏导等于零只是寻找极值的候选条件,不是结论。
二阶偏导:斜率本身还会怎样变化
f x ( x , y ) f_x(x,y) f x ( x , y ) 和 f y ( x , y ) f_y(x,y) f y ( x , y ) 本身仍是二元函数,所以可以继续求偏导。两个一阶偏导会产生四个二阶偏导:
f x x = ∂ ∂ x ( f x ) = ∂ 2 f ∂ x 2 , f_{xx}
=\frac{\partial}{\partial x}(f_x)
=\frac{\partial^2f}{\partial x^2}, f xx = ∂ x ∂ ( f x ) = ∂ x 2 ∂ 2 f ,
f x y = ∂ ∂ y ( f x ) = ∂ 2 f ∂ y ∂ x , f_{xy}
=\frac{\partial}{\partial y}(f_x)
=\frac{\partial^2f}{\partial y\,\partial x}, f x y = ∂ y ∂ ( f x ) = ∂ y ∂ x ∂ 2 f ,
f y x = ∂ ∂ x ( f y ) = ∂ 2 f ∂ x ∂ y , f_{yx}
=\frac{\partial}{\partial x}(f_y)
=\frac{\partial^2f}{\partial x\,\partial y}, f y x = ∂ x ∂ ( f y ) = ∂ x ∂ y ∂ 2 f ,
f y y = ∂ ∂ y ( f y ) = ∂ 2 f ∂ y 2 . f_{yy}
=\frac{\partial}{\partial y}(f_y)
=\frac{\partial^2f}{\partial y^2}. f y y = ∂ y ∂ ( f y ) = ∂ y 2 ∂ 2 f .
本课把 f x y f_{xy} f x y 读作“先对 x x x 求偏导,再对 y y y 求偏导”。分式记号中最靠近 f f f 的 ∂ x \partial x ∂ x 先执行,正好与这个顺序一致。为了不被下标绕晕,计算时写出中间函数 f x f_x f x 或 f y f_y f y 最稳妥。
f x x f_{xx} f xx 描述 x x x 方向斜率怎样随 x x x 改变。若 f x x > 0 f_{xx}>0 f xx > 0 ,固定 y y y 得到的截线在局部向上弯;若 f x x < 0 f_{xx}<0 f xx < 0 ,截线在局部向下弯。f y y f_{yy} f y y 对 y y y 方向做同样的记录。
f x y f_{xy} f x y 的意思稍微绕一点:先得到“向东的斜率” f x f_x f x ,再问这个向东斜率随着向北移动怎样变化。若 f x y > 0 f_{xy}>0 f x y > 0 ,说明向北移动时,向东的坡度在增大。它的单位是“输出单位除以 x x x 的单位,再除以 y y y 的单位”。
例题:把四个二阶偏导全部算清楚
设
f ( x , y ) = x 3 y 2 + e x y . f(x,y)=x^3y^2+e^{xy}. f ( x , y ) = x 3 y 2 + e x y .
先求一阶偏导:
f x = 3 x 2 y 2 + y e x y , f_x=3x^2y^2+ye^{xy}, f x = 3 x 2 y 2 + y e x y , f y = 2 x 3 y + x e x y . f_y=2x^3y+xe^{xy}. f y = 2 x 3 y + x e x y . 对 f x f_x f x 再按 x x x 求偏导:
f x x = 6 x y 2 + y 2 e x y . f_{xx}=6xy^2+y^2e^{xy}. f xx = 6 x y 2 + y 2 e x y . 指数项中,y y y 是原来留下的系数,再乘上内层 x y xy x y 对 x x x 的导数 y y y ,所以出现 y 2 e x y y^2e^{xy} y 2 e x y 。
对 f y f_y f y 再按 y y y 求偏导:
f y y = 2 x 3 + x 2 e x y . f_{yy}=2x^3+x^2e^{xy}. f y y = 2 x 3 + x 2 e x y . 对 f x f_x f x 按 y y y 求偏导。第二项需要乘积法则:
∂ ∂ y ( y e x y ) = e x y + x y e x y . \frac{\partial}{\partial y}\left(ye^{xy}\right)
=e^{xy}+xye^{xy}. ∂ y ∂ ( y e x y ) = e x y + x y e x y . 因此
f x y = 6 x 2 y + e x y + x y e x y . f_{xy}=6x^2y+e^{xy}+xye^{xy}. f x y = 6 x 2 y + e x y + x y e x y . 对 f y f_y f y 按 x x x 求偏导,同样使用乘积法则:
f y x = 6 x 2 y + e x y + x y e x y . f_{yx}=6x^2y+e^{xy}+xye^{xy}. f y x = 6 x 2 y + e x y + x y e x y . 这一次两个混合偏导相等。下一节会说明什么时候可以预先期待这种相等。
混合偏导能交换顺序,但要看条件
对多项式、指数函数、三角函数以及它们在定义域内部的常规组合,我们经常算到
f x y = f y x . f_{xy}=f_{yx}. f x y = f y x .
这条规律不是单靠符号就能保证。一个常用而稳妥的充分条件是:如果两个混合偏导 f x y f_{xy} f x y 与 f y x f_{yx} f y x 在点 ( a , b ) (a,b) ( a , b ) 的某个邻域内存在并且连续,那么
f x y ( a , b ) = f y x ( a , b ) . f_{xy}(a,b)=f_{yx}(a,b). f x y ( a , b ) = f y x ( a , b ) .
这个结论叫 Clairaut 定理,也常叫 Schwarz 定理。条件中的“邻域内连续”是核心,不是可有可无的技术尾巴。
可以把它想成在点附近画一个很小的坐标矩形。先比较左右两边的 x x x 方向变化,再沿 y y y 比较;或者先比较上下两边的 y y y 方向变化,再沿 x x x 比较。两种记账方式都在计算同一个四角总差。当二阶变化在小矩形里连续,没有突然跳动时,矩形缩到一点,两种平均变化率就会落到同一个数上。
看到多项式、指数函数、三角函数或分母不为零的有理函数时,二阶偏导通常在定义域内部连续。此时可以用 f x y = f y x f_{xy}=f_{yx} f x y = f y x 检查运算,也可以只算其中一个混合偏导后直接写出另一个。
条件失效时,顺序真的可能不同
定义
g ( x , y ) = { x y ( x 2 − y 2 ) x 2 + y 2 , ( x , y ) ≠ ( 0 , 0 ) , 0 , ( x , y ) = ( 0 , 0 ) . g(x,y)=
\begin{cases}
\dfrac{xy(x^2-y^2)}{x^2+y^2}, &(x,y)\ne(0,0),\\
0, &(x,y)=(0,0).
\end{cases} g ( x , y ) = ⎩ ⎨ ⎧ x 2 + y 2 x y ( x 2 − y 2 ) , 0 , ( x , y ) = ( 0 , 0 ) , ( x , y ) = ( 0 , 0 ) .
先固定 y y y ,从定义可得
g x ( 0 , y ) = − y . g_x(0,y)=-y. g x ( 0 , y ) = − y .
因此
g x y ( 0 , 0 ) = lim y → 0 g x ( 0 , y ) − g x ( 0 , 0 ) y = − 1. g_{xy}(0,0)
=\lim_{y\to0}\frac{g_x(0,y)-g_x(0,0)}{y}
=-1. g x y ( 0 , 0 ) = y → 0 lim y g x ( 0 , y ) − g x ( 0 , 0 ) = − 1.
反过来,先固定 x x x ,有
g y ( x , 0 ) = x , g_y(x,0)=x, g y ( x , 0 ) = x ,
所以
g y x ( 0 , 0 ) = lim x → 0 g y ( x , 0 ) − g y ( 0 , 0 ) x = 1. g_{yx}(0,0)
=\lim_{x\to0}\frac{g_y(x,0)-g_y(0,0)}{x}
=1. g y x ( 0 , 0 ) = x → 0 lim x g y ( x , 0 ) − g y ( 0 , 0 ) = 1.
两个混合偏导都存在,却不相等。矛盾并没有出现:这个函数在原点附近不满足混合偏导连续的条件,所以不能套用 Clairaut 定理。
偏导存在,不等于连续,更不等于可微
现在把上一章“必须检查所有路径”的经验接回来。f x ( a , b ) f_x(a,b) f x ( a , b ) 和 f y ( a , b ) f_y(a,b) f y ( a , b ) 只检查了通过 ( a , b ) (a,b) ( a , b ) 的两条坐标线;连续性却要求从所有路径靠近时,函数值都趋向 f ( a , b ) f(a,b) f ( a , b ) 。两条线的信息当然不够覆盖整个平面。
定义
f ( x , y ) = { x y x 2 + y 2 , ( x , y ) ≠ ( 0 , 0 ) , 0 , ( x , y ) = ( 0 , 0 ) . f(x,y)=
\begin{cases}
\dfrac{xy}{x^2+y^2}, &(x,y)\ne(0,0),\\
0, &(x,y)=(0,0).
\end{cases} f ( x , y ) = ⎩ ⎨ ⎧ x 2 + y 2 x y , 0 , ( x , y ) = ( 0 , 0 ) , ( x , y ) = ( 0 , 0 ) .
沿两条坐标轴,函数值都恒为 0 0 0 ,所以
f x ( 0 , 0 ) = 0 , f y ( 0 , 0 ) = 0. f_x(0,0)=0,
\qquad
f_y(0,0)=0. f x ( 0 , 0 ) = 0 , f y ( 0 , 0 ) = 0.
可是沿 y = x y=x y = x 靠近原点时,
f ( x , x ) = x 2 2 x 2 = 1 2 . f(x,x)=\frac{x^2}{2x^2}=\frac12. f ( x , x ) = 2 x 2 x 2 = 2 1 .
它不趋于 f ( 0 , 0 ) = 0 f(0,0)=0 f ( 0 , 0 ) = 0 ,因此函数在原点不连续。
按定义计算 x x x 偏导:
f x ( 0 , 0 ) = lim h → 0 f ( h , 0 ) − f ( 0 , 0 ) h = 0. f_x(0,0)
=\lim_{h\to0}\frac{f(h,0)-f(0,0)}{h}
=0. f x ( 0 , 0 ) = h → 0 lim h f ( h , 0 ) − f ( 0 , 0 ) = 0. 同理,
f y ( 0 , 0 ) = lim k → 0 f ( 0 , k ) − f ( 0 , 0 ) k = 0. f_y(0,0)
=\lim_{k\to0}\frac{f(0,k)-f(0,0)}{k}
=0. f y ( 0 , 0 ) = k → 0 lim k f ( 0 , k ) − f ( 0 , 0 ) = 0. 这两步只用了 x x x 轴和 y y y 轴。连续性要看所有靠近方式,而路径 y = x y=x y = x 已经给出不同极限,所以函数不连续。
可微一定推出连续,因此这个函数在原点也不可能可微。偏导存在只给出两条截线的切线,不能自动拼出一个可靠的切平面。
连续再加两个偏导,仍然不一定可微
也许你会想:上一个反例只是输在不连续。如果再补上连续性,总该可微了吧?仍然不够。
定义
h ( x , y ) = { x 3 x 2 + y 2 , ( x , y ) ≠ ( 0 , 0 ) , 0 , ( x , y ) = ( 0 , 0 ) . h(x,y)=
\begin{cases}
\dfrac{x^3}{x^2+y^2}, &(x,y)\ne(0,0),\\
0, &(x,y)=(0,0).
\end{cases} h ( x , y ) = ⎩ ⎨ ⎧ x 2 + y 2 x 3 , 0 , ( x , y ) = ( 0 , 0 ) , ( x , y ) = ( 0 , 0 ) .
因为
∣ h ( x , y ) ∣ = ∣ x ∣ x 2 x 2 + y 2 ≤ ∣ x ∣ , |h(x,y)|
=|x|\frac{x^2}{x^2+y^2}
\le|x|, ∣ h ( x , y ) ∣ = ∣ x ∣ x 2 + y 2 x 2 ≤ ∣ x ∣ ,
所以 h h h 在原点连续。由定义还能算出
h x ( 0 , 0 ) = 1 , h y ( 0 , 0 ) = 0. h_x(0,0)=1,
\qquad
h_y(0,0)=0. h x ( 0 , 0 ) = 1 , h y ( 0 , 0 ) = 0.
如果它在原点可微,那么一阶线性部分应当是 x x x 。但沿 y = x y=x y = x 有
h ( x , x ) = x 2 , h(x,x)=\frac{x}{2}, h ( x , x ) = 2 x ,
线性预测与真实值的误差是 − x / 2 -x/2 − x /2 。把误差除以到原点的距离,得到
∣ h ( x , x ) − x ∣ x 2 + x 2 = 1 2 2 , \frac{|h(x,x)-x|}{\sqrt{x^2+x^2}}
=\frac{1}{2\sqrt2}, x 2 + x 2 ∣ h ( x , x ) − x ∣ = 2 2 1 ,
它没有趋于 0 0 0 ,所以 h h h 在原点不可微。
这几种性质的关系可以记成:
可微 ⟹ 连续且偏导存在 , \text{可微}
\Longrightarrow
\text{连续且偏导存在}, 可微 ⟹ 连续且偏导存在 ,
但反方向一般不成立。一个实用的充分条件是:若一阶偏导在点的某个邻域内存在,并且在该点附近连续,那么函数在该点可微。下一章会把“可微”解释成曲面能够被一个切平面准确地做局部一阶近似。
一套不容易混乱的解题流程
遇到偏导数问题时,可以按下面的顺序检查。
先认清自变量、因变量和定义域。题目写 P ( T , V ) P(T,V) P ( T , V ) ,就不要机械地寻找 x x x 、y y y ;还要分清哪些字母是变量,哪些是模型常数。
明确这次谁在动。求 f x f_x f x 就固定其余变量,只对 x x x 使用一元求导规则;求 f y f_y f y 就固定其余变量,只对 y y y 求导。
若题目指定点,先得到偏导函数,再代入坐标。不要把 ( a , b ) (a,b) ( a , b ) 过早代入,除非题目明确要求用差商定义;过早代入容易把本来应当保留的变量一并消掉。
给数值补上方向、符号和单位。T y = − 3 T_y=-3 T y = − 3 不是一句完整解释;应当说明“其他输入不变时,沿 y y y 正方向每移动一个单位,温度局部约下降 3 3 3 个温度单位”。
算混合偏导时写出中间函数,并在使用 f x y = f y x f_{xy}=f_{yx} f x y = f y x 前检查光滑条件。遇到分段函数、绝对值、分母在目标点为零的有理式,尤其不能只凭经验交换顺序。
最后区分结论强弱。偏导存在不保证连续或可微;两个偏导为零也不保证极值。只有题目给出额外条件时,才能继续推出更强结论。
练习
练习一:基本计算与点值
设
f ( x , y ) = x 4 y − 2 x y 3 + 5 y . f(x,y)=x^4y-2xy^3+5y. f ( x , y ) = x 4 y − 2 x y 3 + 5 y .
求 f x f_x f x 、f y f_y f y ,并计算 f x ( 1 , − 1 ) f_x(1,-1) f x ( 1 , − 1 ) 、f y ( 1 , − 1 ) f_y(1,-1) f y ( 1 , − 1 ) 。
显示答案 求 x x x 偏导时把 y y y 固定:
f x = 4 x 3 y − 2 y 3 . f_x=4x^3y-2y^3. f x = 4 x 3 y − 2 y 3 . 求 y y y 偏导时把 x x x 固定:
f y = x 4 − 6 x y 2 + 5. f_y=x^4-6xy^2+5. f y = x 4 − 6 x y 2 + 5. 代入 ( 1 , − 1 ) (1,-1) ( 1 , − 1 ) :
f x ( 1 , − 1 ) = 4 ( 1 ) 3 ( − 1 ) − 2 ( − 1 ) 3 = − 2 , f_x(1,-1)
=4(1)^3(-1)-2(-1)^3
=-2, f x ( 1 , − 1 ) = 4 ( 1 ) 3 ( − 1 ) − 2 ( − 1 ) 3 = − 2 , f y ( 1 , − 1 ) = 1 − 6 + 5 = 0. f_y(1,-1)
=1-6+5
=0. f y ( 1 , − 1 ) = 1 − 6 + 5 = 0. 因此该点沿 x x x 正方向的局部斜率为 − 2 -2 − 2 ,沿 y y y 正方向的局部斜率为 0 0 0 。
练习二:乘积与指数函数
设
g ( x , y ) = x e x + y + y 2 e x . g(x,y)=xe^{x+y}+y^2e^x. g ( x , y ) = x e x + y + y 2 e x .
求 g x g_x g x 和 g y g_y g y 。
显示答案 对第一项求 x x x 偏导时使用乘积法则:
∂ ∂ x ( x e x + y ) = e x + y + x e x + y . \frac{\partial}{\partial x}\left(xe^{x+y}\right)
=e^{x+y}+xe^{x+y}. ∂ x ∂ ( x e x + y ) = e x + y + x e x + y . 第二项中 y 2 y^2 y 2 是固定系数,所以
g x = ( 1 + x ) e x + y + y 2 e x . g_x=(1+x)e^{x+y}+y^2e^x. g x = ( 1 + x ) e x + y + y 2 e x . 求 y y y 偏导时,x x x 与 e x e^x e x 都固定:
g y = x e x + y + 2 y e x . g_y=xe^{x+y}+2ye^x. g y = x e x + y + 2 y e x .
练习三:从等高线描述判断符号
某山坡高度为 H ( x , y ) H(x,y) H ( x , y ) ,x x x 表示向东距离,y y y 表示向北距离。某点附近向东走高度升高,向北走高度降低;向北方向的等高线比向东方向更密。判断 H x H_x H x 、H y H_y H y 的符号,并比较两个偏导数绝对值的大小。
显示答案 向东对应 x x x 增大,高度升高,所以
H x > 0. H_x>0. H x > 0. 向北对应 y y y 增大,高度降低,所以
H y < 0. H_y<0. H y < 0. 相邻等高线代表相同高度差,而向北方向更密,说明相同水平距离内向北跨过的高度差更大,因此
∣ H y ∣ > ∣ H x ∣ . |H_y|>|H_x|. ∣ H y ∣ > ∣ H x ∣.
练习四:单位与解释
一种材料的长度写成 L ( T , p ) L(T,p) L ( T , p ) ,T T T 的单位是摄氏度,p p p 的单位是千帕,L L L 的单位是毫米。在某状态下测得
L T = 0.08 , L p = − 0.003. L_T=0.08,
\qquad
L_p=-0.003. L T = 0.08 , L p = − 0.003.
写出两个偏导数的单位,并解释它们的含义。
显示答案 L T L_T L T 的单位是毫米每摄氏度。它表示压力保持不变时,温度每升高 1 ∘ C 1^\circ\mathrm C 1 ∘ C ,材料长度在该状态附近约增加 0.08 0.08 0.08 毫米。
L p L_p L p 的单位是毫米每千帕。它表示温度保持不变时,压力每增加 1 1 1 千帕,材料长度在该状态附近约减少 0.003 0.003 0.003 毫米。
两个数不能只看大小直接比较,因为它们除以的是不同输入单位。
练习五:二阶偏导
设
p ( x , y ) = x 2 y 3 + ln ( 1 + x 2 + y 2 ) . p(x,y)=x^2y^3+\ln(1+x^2+y^2). p ( x , y ) = x 2 y 3 + ln ( 1 + x 2 + y 2 ) .
求 p x y p_{xy} p x y 。
显示答案 按本课约定,先对 x x x 求偏导:
p x = 2 x y 3 + 2 x 1 + x 2 + y 2 . p_x=2xy^3+\frac{2x}{1+x^2+y^2}. p x = 2 x y 3 + 1 + x 2 + y 2 2 x . 再对 y y y 求偏导。第一项给出 6 x y 2 6xy^2 6 x y 2 ;第二项把 2 x 2x 2 x 当常数,对分母的负一次幂使用链式法则:
p x y = 6 x y 2 − 4 x y ( 1 + x 2 + y 2 ) 2 . p_{xy}
=6xy^2-\frac{4xy}{(1+x^2+y^2)^2}. p x y = 6 x y 2 − ( 1 + x 2 + y 2 ) 2 4 x y .
练习六:用交换顺序检查结果
设
q ( x , y ) = x 3 y + sin ( x y ) . q(x,y)=x^3y+\sin(xy). q ( x , y ) = x 3 y + sin ( x y ) .
分别求 q x y q_{xy} q x y 和 q y x q_{yx} q y x ,并说明为什么应当相等。
显示答案 先求
q x = 3 x 2 y + y cos ( x y ) , q_x=3x^2y+y\cos(xy), q x = 3 x 2 y + y cos ( x y ) , 再对 y y y 求偏导:
q x y = 3 x 2 + cos ( x y ) − x y sin ( x y ) . q_{xy}
=3x^2+\cos(xy)-xy\sin(xy). q x y = 3 x 2 + cos ( x y ) − x y sin ( x y ) . 另一方面,
q y = x 3 + x cos ( x y ) , q_y=x^3+x\cos(xy), q y = x 3 + x cos ( x y ) , 再对 x x x 求偏导:
q y x = 3 x 2 + cos ( x y ) − x y sin ( x y ) . q_{yx}
=3x^2+\cos(xy)-xy\sin(xy). q y x = 3 x 2 + cos ( x y ) − x y sin ( x y ) . 这个函数由多项式和三角函数组合而成,两个混合偏导在整个平面连续,所以 Clairaut 定理保证它们相等。
练习七:偏导存在但不连续
设
r ( x , y ) = { x 2 y x 4 + y 2 , ( x , y ) ≠ ( 0 , 0 ) , 0 , ( x , y ) = ( 0 , 0 ) . r(x,y)=
\begin{cases}
\dfrac{x^2y}{x^4+y^2}, &(x,y)\ne(0,0),\\
0, &(x,y)=(0,0).
\end{cases} r ( x , y ) = ⎩ ⎨ ⎧ x 4 + y 2 x 2 y , 0 , ( x , y ) = ( 0 , 0 ) , ( x , y ) = ( 0 , 0 ) .
判断 r x ( 0 , 0 ) r_x(0,0) r x ( 0 , 0 ) 、r y ( 0 , 0 ) r_y(0,0) r y ( 0 , 0 ) 是否存在,并判断函数在原点是否连续。
显示答案 沿 x x x 方向,
r x ( 0 , 0 ) = lim h → 0 r ( h , 0 ) − r ( 0 , 0 ) h = 0. r_x(0,0)
=\lim_{h\to0}\frac{r(h,0)-r(0,0)}{h}
=0. r x ( 0 , 0 ) = h → 0 lim h r ( h , 0 ) − r ( 0 , 0 ) = 0. 沿 y y y 方向,
r y ( 0 , 0 ) = lim k → 0 r ( 0 , k ) − r ( 0 , 0 ) k = 0. r_y(0,0)
=\lim_{k\to0}\frac{r(0,k)-r(0,0)}{k}
=0. r y ( 0 , 0 ) = k → 0 lim k r ( 0 , k ) − r ( 0 , 0 ) = 0. 两个偏导都存在。检查连续性时取抛物线路径 y = x 2 y=x^2 y = x 2 :
r ( x , x 2 ) = x 2 ⋅ x 2 x 4 + x 4 = 1 2 . r(x,x^2)
=\frac{x^2\cdot x^2}{x^4+x^4}
=\frac12. r ( x , x 2 ) = x 4 + x 4 x 2 ⋅ x 2 = 2 1 . 它不趋于 r ( 0 , 0 ) = 0 r(0,0)=0 r ( 0 , 0 ) = 0 ,所以 r r r 在原点不连续,也不可能在原点可微。
练习八:两个偏导为零能否推出极值
设
s ( x , y ) = 2 x y . s(x,y)=2xy. s ( x , y ) = 2 x y .
求 s x ( 0 , 0 ) s_x(0,0) s x ( 0 , 0 ) 、s y ( 0 , 0 ) s_y(0,0) s y ( 0 , 0 ) ,并判断原点是不是局部极大值点或局部极小值点。
显示答案 有
s x = 2 y , s y = 2 x , s_x=2y,
\qquad
s_y=2x, s x = 2 y , s y = 2 x , 因此
s x ( 0 , 0 ) = s y ( 0 , 0 ) = 0. s_x(0,0)=s_y(0,0)=0. s x ( 0 , 0 ) = s y ( 0 , 0 ) = 0. 沿直线 y = x y=x y = x ,
s ( x , x ) = 2 x 2 ≥ 0 ; s(x,x)=2x^2\ge0; s ( x , x ) = 2 x 2 ≥ 0 ; 沿直线 y = − x y=-x y = − x ,
s ( x , − x ) = − 2 x 2 ≤ 0. s(x,-x)=-2x^2\le0. s ( x , − x ) = − 2 x 2 ≤ 0. 原点附近既有正值又有负值,所以原点既不是局部极大值点,也不是局部极小值点,而是鞍点。
从两条截线走向一个切平面
这一章先把复杂问题拆开:f x f_x f x 记录 x x x 方向的截线斜率,f y f_y f y 记录 y y y 方向的截线斜率;二阶偏导继续记录这些斜率怎样变化。它们把多变量函数在一点附近的局部信息一块块收集起来。
但我们也看到了边界:两条坐标截线正常,不代表函数从所有方向看都正常;两个偏导存在,不保证连续或可微;两个偏导都为零,也不保证极值。
下一章要做的正是把这些碎片重新合起来。如果函数在一点可微,那么 f x ( a , b ) f_x(a,b) f x ( a , b ) 与 f y ( a , b ) f_y(a,b) f y ( a , b ) 会共同确定一个切平面,并给出
Δ f ≈ f x ( a , b ) Δ x + f y ( a , b ) Δ y . \Delta f
\approx
f_x(a,b)\Delta x+f_y(a,b)\Delta y. Δ f ≈ f x ( a , b ) Δ x + f y ( a , b ) Δ y .
到那时,“多元函数没有唯一斜率”不会再是障碍:我们不再强行找一个数,而是用一个平面同时容纳两个独立方向上的一阶变化。