高等数学(六)多元函数微分
六、多元微分
6.1 多元函数的极限
一元函数的邻域定义为\(x_0\)左右相距小于\(\delta\)的区间,而平面中的邻域定义为以\((x_0,y_0)\)为圆心半径为\(\delta\)的圆。在邻域内,一元函数只会从左右两条路径趋向\(x_0\),即左极限和右极限,当他们存在且相等时\(x_0\)处极限存在;而平面上趋近\((x_0,y_0)\)有无数种方式,不管以什么方式趋近这个点,极限都存在且相等才说这个点极限存在,反之以不同的方式趋于\((x_0,y_0)\)极限不同或不存在则说明该点没有极限。
一个常见的例子是\(\frac{xy}{x^2+y^2}\),考虑\((x,y)\to(0,0)\),只有沿x轴或y轴方向趋于\(0\)时极限才是\(0\),如果沿直线\(y=kx\)趋于\(0\)则极限与\(k\)有关。
6.2 偏导数与全微分
偏导数的数学定义不再赘述。从几何上说,偏导数就是曲面上的一个点在x或y方向上切线的斜率。注意与极限的定义不同,偏导数指定了是x或y方向,也就是说它只能代表这两个方向上的变化率,而沿其他路径的变化率我们并不得知。
全微分又该如何理解呢?一步一步来,一元函数的导数表示斜率,微分\(dy=f'(x)dx\),如果把\(dx\)和\(dy\)分别看作自变量和应变量,那它表示的就是切线。对于全微分来说,其表达式为 \[ dz=\frac{\partial z}{\partial x}dx+\frac{\partial z}{\partial y}dy \] 如果把\(dx\)、\(dy\)、\(dz\)看作是\(xyz\),上式不就是平面方程吗?因此全微分可以理解为曲线在一点的切平面。那什么时候这个切平面存在呢?就是在这一点沿所有方向作的切线都共面。所以偏导数实际上是这些切线中特殊的两条,当切平面存在时,这个平面可以用xy两个方向的切线来表示,这也印证了全微分表达式中的系数是xy方向上的偏导数。
从微分的定义上看,对于一元函数来说,\(\Delta y=A\Delta x+o(\Delta x)\),也就是当\(x\)离\(x_0\)很近时,函数值离切线的距离会趋于无穷小;对于二元函数也是一样,\(\Delta z=A\Delta x+B\Delta y+o(\sqrt{(\Delta x)^2+(\Delta y)^2})\),当\((x,y)\)离\((x_0,y_0)\)很近时,函数值离切平面的距离会趋于无穷小。再次总结,全微分就等价于切平面,用切平面的方式理解全微分对之后的学习很有帮助。
我们知道偏微分存在不能判断全微分存在,因为偏微分只是两个特殊的切线,不能代表全部。那为什么偏导数连续就可以得出全微分存在呢?

首先说明一下什么是“偏导数连续”,这里的偏导数指偏导函数,注意偏导函数是一个二元函数,比如\(f_x(x,y)\),取定一个\(x\)和\(y\),它表示在这一点沿\(x\)方向的切线斜率,所以“偏导数连续”指的是在邻域内(上图的红圈)偏导函数存在且连续,而不只是在两条线上偏导函数连续。红圈内的偏导函数连续就说明了在这个足够小的邻域内,沿x和y方向的斜率(切线)几乎不变,即上图中紫色的箭头(可以想象得更密),这些箭头交织所形成的点都位于一个面上,这个面就是切平面,即证明了全微分存在。相信这种几何的想象更能帮助你理解这个定理。
6.3 多元复合函数求导
也叫链式法则,其实思想是很简单的。希望你还记得一元复合函数求导的那张图,\(x\)通过影响中间变量\(u\)进而影响\(y\)。而在多元函数中,只不过影响的关系更复杂罢了,比如\(z=f(u,v),u=\varphi(x,y),v=\psi(x,y)\),这里\(x\)通过两条路径(\(x\to u\to z\)和\(x\to v\to z\))影响了\(z\),所以理应把这两种不同的影响加起来。各种复合的情况也是同理,这部分建议多做一些例题。
需要注意一点,\(\frac{\partial z}{\partial x}\)和\(\frac{\partial f}{\partial x}\)不一定表达的是一个意思,如在函数\(z=f(u,x,y),u=\varphi(x,y)\)中:前者是最终结果对\(x\)的偏导,计算时应把\(y\)看作常数,\(u\)需要拆开处理;后者则指函数\(f\)对一个参数求导,计算时应把除\(x\)外的参数\(u\)和\(y\)都看作常数。
全微分形式不变性
回顾一下一元微分的形式不变性:复合函数\(y=f(u),u=g(x)\),则\(dy=f'(g(x))g'(x)dx=f'(u)du\),说明不论\(u\)是自变量还是中间变量,最终微分都可以表示为\(f'(u)du\)的形式。
对于二元微分也是如此:复合函数\(z=f(u,v),u=\varphi(x,y),v=\psi(x,y)\),则 \[ \begin{align} dz&=\frac{\partial z}{\partial x}dx+\frac{\partial z}{\partial y}dy\\ &=(\frac{\partial z}{\partial u}\frac{\partial u}{\partial x}+\frac{\partial z}{\partial v}\frac{\partial v}{\partial x})dx+(\frac{\partial z}{\partial u}\frac{\partial u}{\partial y}+\frac{\partial z}{\partial v}\frac{\partial v}{\partial y})dy\\ &=\frac{\partial z}{\partial u}(\frac{\partial u}{\partial x}dx+\frac{\partial u}{\partial y}dy)+\frac{\partial z}{\partial v}(\frac{\partial v}{\partial x}dx+\frac{\partial v}{\partial y}dy)\\ &=\frac{\partial z}{\partial u}du+\frac{\partial z}{\partial v}dv \end{align} \] 这里也说明了同样的道理,\(u\)和\(v\)都是中间变量,但用\(x,y\)表示\(dz\)(第一行)和用\(u,v\)表示\(dz\)(第四行)形式一样。
这个性质我刚看的时候很迷,说了好像又什么都没说,那么这个性质到底想表达什么呢?以我现在的理解,第一行和第四行的两种形式代表了两种解题思路。以一个具体的例子来看:\(z=e^u\sin v,u=xy,v=x+y\),求\(\frac{\partial z}{\partial x}\)、\(\frac{\partial z}{\partial y}\)和\(dz\)。
如果我们求全微分的时候像第一行那样求,那么就要先利用链式法则求两个偏导数,然后加起来;但如果利用全微分形式不变性,我们就可以一步一步来求,先写出对\(u,v\)的微分,然后再展开\(du\)和\(dv\),如下: \[ \begin{align} dz&=e^u\sin vdu+e^u\cos vdv\\ &=e^u\sin v(xdy+ydx)+e^u\cos v(dx+dy)\\ &=e^u(y\sin v+\cos v)dx+e^u(x\sin v+\cos v)dy \end{align} \]
为表述简洁,第二三行未将\(u,v\)全部代换为\(x,y\)。
此时最神奇之处就在于,\(dx\)前的部分就是\(z\)对\(x\)的偏导数,\(dy\)前的部分就是\(z\)对\(y\)的偏导数,这种一层一层求微分的方法有时候很方便。
需要指出的是只有一阶微分才具有不变性,二阶及以上的微分是没有这个性质的,觉得有意思可以自己想个例子算算。
6.4 隐函数求导
在刚学习导数时,3.3.5节提到了隐函数求导,当时我推荐大家用微分的方式来理解。而这一节,我们已经有了多元复合函数求导的基础,就可以归纳出一些公式来求解隐函数甚至是多元隐函数。需要说明的是,以下定理无需死记,都是通过求偏导的方式推导出的,理解原理即可。
定理一
设函数\(F(x,y)\)在点\(P(x_0,y_0)\)的某一邻域内具有连续偏导数(邻域内全微分存在),且\(F(x_0,y_0)=0\),\(F_y(x_0,y_0)\ne0\)(保证分母不为零),则方程\(F(x,y)=0\)在点\((x_0,y_0)\)的某一邻域内恒能唯一确定一个连续且具有连续导数的函数\(y=f(x)\),满足\(y_0=f(x_0)\),并有\(\frac{dy}{dx}=-\frac{F_x}{F_y}\)。
简单概括如下:\(y=f(x)\)由\(F(x,y)=0\)确定,则导数为
\[ \frac{dy}{dx}=-\frac{F_x}{F_y} \] 其实很好得出这个结论,\(F(x,y)=0,y=f(x)\)是一个二元复合函数,对\(x\)求偏导得: \[ \frac{\partial F}{\partial x}+\frac{\partial F}{\partial y}\frac{dy}{dx}=0 \]
移项即证。
定理二
\(z=f(x,y)\)由\(F(x,y,z)=0\)确定,则偏导数为 \[ \frac{\partial z}{\partial x}=-\frac{F_x}{F_z},\ \ \ \frac{\partial z} {\partial y}=-\frac{F_y}{F_z} \] 证明同定理一,分别对\(x\)和\(y\)求偏导即证。
定理三
\(u=u(x)\)和\(v=v(x)\)由 \[ \begin{cases} F(x,u,v)=0\\ G(x,u,v)=0 \end{cases} \]
确定,则导数可以通过联立以下方程求解。 \[ \begin{cases} F_x+F_u\frac{du}{dx}+F_v\frac{dv}{dx}=0\\ G_x+G_u\frac{du}{dx}+G_v\frac{dv}{dx}=0\\ \end{cases} \]
定理四
\(u=u(x,y)\)和\(v=v(x,y)\)由 \[ \begin{cases} F(x,y,u,v)=0\\ G(x,y,u,v)=0 \end{cases} \]
确定,则偏导数可以通过联立以下方程求解。 \[ \begin{cases} F_x+F_u\frac{\partial u}{\partial x}+F_v\frac{\partial v}{\partial x}=0\\ G_x+G_u\frac{\partial u}{\partial x}+G_v\frac{\partial v}{\partial x}=0\\ \end{cases} \]
6.5 方向导数
偏导数反映了函数沿xy方向的变化率,但许多时候,不只是xy方向,我们还想知道沿特定方向的变化率,这就引入了方向导数。
首先我们用一条射线\(l\)来确定方向,设其方向向量\(\pmb{e}_l=(\cos\alpha,\cos\beta)\),\(\alpha\)为\(l\)与x轴的夹角,\(\beta\)为\(l\)与y轴的夹角,则\(l\)的参数方程为: \[ \begin{cases} x=x_0+t\cos\alpha\\ y=y_0+t\cos\beta \end{cases} \ \ \ \ (t\ge0) \] 显然\(t\)表示的是线段长度。则方向导数定义为沿该方向上函数的极限变化率,即: \[ \frac{\partial{f}}{\partial{l}}\bigg|_{(x_0,y_0)}=\lim\limits_{t\to0^+}\frac{f(x_0+t\cos\alpha,y_0+t\cos\beta)-f(x_0,y_0)}{t} \] 上式就是方向导数的定义,和一般导数的定义类似,只不过是沿射线\(l\)趋于\((x_0,y_0)\)的。
特别注意方向导数与偏导数的区别,虽然偏导数可以理解为函数沿xy两个特殊方向的方向导数,但偏导数是指在x轴或y轴从左右两个方向趋近该点的变化率,而方向导数只是从一个方向趋近的变化率,两者就像一元函数中的导数和左右导数。所以在xy方向,方向导数存在不一定偏导数存在。
方向导数与偏导数有以下关系:如果函数\(f(x,y)\)在\((x_0,y_0)\)点可微,则在该点沿任意方向的方向导数都存在,且 \[ \frac{\partial{f}}{\partial{l}}\bigg|_{(x_0,y_0)}=f'_x(x_0,y_0)\cos\alpha+f'_y(x_0,y_0)\cos\beta \] 从数学证明上看,可微即该点的增量可以写为\(f'_x\Delta x+f'_y\Delta y\)再加一个高阶无穷小的形式,而\(\Delta x=t\cos\alpha,\Delta y=t\sin\alpha\),因此除以\(t\)之后就是上述形式了。从几何上理解更简单,可微即存在切平面,知道了切平面沿xy方向的斜率,那么沿其他方向的斜率自然也能够得出。
6.6 梯度
以前总觉得梯度是一个很高级的名词,过于抽象。但一定要记住,梯度本质上就是一个向量,向量的每一项是函数对相应自变量的偏导数,记作: \[ \pmb{\text{grad}} f(x_0,y_0)=f'_x(x_0,y_0)\pmb{i}+f'_y(x_0,y_0)\pmb{j}=(f'_x(x_0,y_0),f'_y(x_0,y_0)) \] 有时也用符号\(\nabla\)表示,称为向量微分算子或Nabla算子: \[ \nabla=\frac{\partial}{\partial{x}}\pmb{i}+\frac{\partial}{\partial{y}}\pmb{j}\\ \nabla f=\frac{\partial{f}}{\partial{x}}\pmb{i}+\frac{\partial{f}}{\partial{y}}\pmb{j}\\ \] 那么可微条件下的方向导数公式就可以写为: \[ \begin{align} \frac{\partial{f}}{\partial{l}}\bigg|_{(x_0,y_0)}&=f'_x(x_0,y_0)\cos\alpha+f'_y(x_0,y_0)\cos\beta\\ &=\pmb{\text{grad}}f(x_0,y_0)\cdot\pmb{e}_l\\ &=|\pmb{\text{grad}}f(x_0,y_0)|\cos\theta \end{align} \] 其中\(\theta\)表示梯度方向与方向向量的夹角,从这个公式也可以看出:当\(\theta=0\)时,方向导数最大;当\(\theta=\pi\)时,方向导数最小;当\(\theta=\frac{\pi}{2}\)时,方向导数为0。即函数沿梯度方向增加最快;沿垂直于梯度方向函数值不变。这一性质可以借助地理中的等高线来理解,等高线方向即方向导数为0的方向,而垂直于等高线向上的方向则是梯度方向,即海拔上升最快的方向。
以上结论在多元函数中都是适用的。比如函数\(F(x,y,z)\),可以把它理解为三维空间中的标量场(比如电势场),\(F(x,y,z)=C\)表示一个等值面(比如电势场中的等势面),则在某一点\((x_0,y_0,z_0)\)的法向量就是这点的梯度方向,因为垂直于等势面电势增加或减少最快嘛。即空间曲面\(F(x,y,z)=0\)在\((x_0,y_0,z_0)\)的法向量为\((F'_x,F'_y,F'_z)\),因此切平面方程为 \[ F'_x(x-x_0)+F'_y(y-y_0)+F'_z(z-z_0)=0 \]
所以空间曲面的法向量和切平面是如何求出的?就是通过曲面的梯度,脑海里想象电磁场沿哪个方向电势差最大,那一定就是垂直于等势面方向了。