向量函数

向量函数形如 F(x,y)=(f(x,y),g(x,y))F(x, y) = (f(x, y), g(x, y)),其不再像标量函数那样描述平面或空间中某个点的值,而是描述每个点的方向和大小

参数方程和向量求导

考虑向量函数 F(x)=f(x)i+g(x)jF(x) = f(x)\vec{i} + g(x)\vec{j},利用导数的定义可得

F(x)=limΔx0F(x+Δx)F(x)Δx=limΔx0f(x+Δx)f(x)Δxi+limΔx0g(x+Δx)g(x)Δxj=f(x)i+g(x)j\begin{align} F'(x) & = \lim_{\Delta x\to 0}\frac{F(x + \Delta x) - F(x)}{\Delta x}\\ & = \lim_{\Delta x \to 0}\frac{f(x + \Delta x) - f(x)}{\Delta x}\vec{i} + \lim_{\Delta x \to 0}\frac{g(x + \Delta x) - g(x)}{\Delta x}\vec{j}\\ & = f'(x)\vec{i} + g'(x)\vec{j} \end{align}

由此可见,向量对常量求导只需要对其分量分别求导

因此我们也可以得到,若有参数方程

{x=φ(t)y=ψ(t)z=ω(t)\begin{cases} x = \varphi(t)\\ y = \psi(t)\\ z = \omega(t) \end{cases}

或将其写写成向量形式 r=xi+yj+zk\vec{r} = x\vec{i} + y\vec{j} + z\vec{k},则

drdt=dxdti+dxdtj+dxdtk\frac{\mathrm{d}\vec{r}}{\mathrm{d}t} = \frac{\mathrm{d}x}{\mathrm{d}t}\vec{i} + \frac{\mathrm{d}x}{\mathrm{d}t}\vec{j} + \frac{\mathrm{d}x}{\mathrm{d}t}\vec{k}

这个向量就是该空间曲线的切向量,即对于一般的参数方程,我们可以直接写出其切向量为 T=(φ(t),ψ(t),ω(t))\vec{T} = (\varphi'(t), \psi'(t), \omega'(t))

而若曲线以方程组的形式给出,我们可以将 xx 当作参数 tt,然后两个方程同时对 xx 求导,会得到一个关于 dydx\frac{\mathrm{d}y}{\mathrm{d}x}dzdx\frac{\mathrm{d}z}{\mathrm{d}x} 的方程组,从而 (1,dydx,dzdx)(1, \frac{\mathrm{d}y}{\mathrm{d}x}, \frac{\mathrm{d}z}{\mathrm{d}x}) 就是曲线的切向量

梯度

梯度的表示

梯度是一个向量,描述一个曲线或曲面在某点处变化最快的方向,其计算方法如下

  • 若有曲面 F(x,y,z)=0F(x, y, z) = 0,那么其梯度为 (Fx,Fy,Fz)(F_x, F_y, F_z)

  • 若有平面曲线 f(x,y)=0f(x, y) = 0,那么其梯度为 (fx,fy)(f_x, f_y)

梯度可以直接使用符号 F\nabla FgradF\mathrm{grad} F 表示,其中 =xi+yj+zk\nabla = \frac{\partial}{\partial x}\vec{i} + \frac{\partial}{\partial y}\vec{j} + \frac{\partial}{\partial z}\vec{k} 被称为 Nabla 算子

梯度的几何意义

考虑对 F(x,y,z)=0F(x, y, z) = 0 求导,由链式法则得

dFdt=Fxφ(t)+Fyψ(t)+Fzω(t)=0\frac{\mathrm{d}F}{\mathrm{d}t} = F_x\varphi'(t) + F_y\psi'(t) + F_z\omega'(t) = 0

也即

F(φ(t),ψ(t),ω(t))=0\nabla F \cdot (\varphi'(t), \psi'(t), \omega'(t)) = 0

前面我们提到过 (φ(t),ψ(t),ω(t))(\varphi'(t), \psi'(t), \omega'(t)) 表示曲线的切向量(也就是曲面的一个切向量),而 F\nabla F 与其点积为 0,说明 F\nabla F 与某点处所有方向的曲线的切向量都垂直,因此 F\nabla F 是曲面的法向量

求梯度向量的方向角

已知函数 z=f(x,y)z = f(x, y),那么其梯度向量可以为 (fx,fy,1)(-f_x, -f_y, 1)(与 zz 轴夹角为锐角),通过将该向量的起点平移到原点并建立长方体辅助线,然后利用简单的锐角三角函数关系即可得到

{cosα=fx1+fx2+fy2cosβ=fy1+fx2+fy2cosγ=11+fx2+fy2\begin{cases} \cos\alpha = \frac{-f_x}{\sqrt{1 + f_x^2 + f_y^2}}\\ \cos\beta = \frac{-f_y}{\sqrt{1 + f_x^2 + f_y^2}}\\ \cos\gamma = \frac{1}{\sqrt{1 + f_x^2 + f_y^2}} \end{cases}

等值线

通过等值线,我们可以将一个三维空间问题转化为二维平面问题

例如,对于函数 F(x,y,z)=0F(x, y, z) = 0,可以将其写为 z=f(x,y)z = f(x, y),那么,每取一个 zz 值,都可以得到一个关于 x,yx, y 的平面曲线,将所有的平面曲线画在 xOyxOy 坐标系中,就能得到一系列的等值线

如下显示的是 z=x22+y2z = \frac{x^2}{2} + y^2 的等值线

同样的,对于函数 F(x,y)F(x, y),若将其写成 y=f(x)y = f(x),那么也可以得到一系列的等值点

这时得到的梯度向量就是能够最快到达下一个等值线/等值点的向量,而梯度向量的模长 f\lVert\nabla f\rVert 表示当前点瞬时的变化率

用梯度理解多元函数微分学

全微分

给定曲面 z=f(x,y)z = f(x, y),即 F(x,y,z)=f(x,y)zF(x, y, z) = f(x, y) - z,通过上面的知识,我们知道,这个曲面的梯度即法向量为 (fx,fy,1)(f_x, f_y, -1),因此这个曲面在某点 (x0,y0,z0)(x_0, y_0, z_0) 处的切平面方程为

fx(xx0)+fy(yy0)(zz0)=0f_x(x - x_0) + f_y(y - y_0) - (z - z_0) = 0

zz0=zx(xx0)+zy(yy0)z - z_0 = \frac{\partial z}{\partial x}(x - x_0) + \frac{\partial z}{\partial y}(y - y_0)

更进一步地,我们发现,这其实就是 zz 的全微分

dz=zxdx+zydy\mathrm{d}z = \frac{\partial z}{\partial x}\mathrm{d}x + \frac{\partial z}{\partial y}\mathrm{d}y

因此,全微分就是曲面在某点处沿着方向 (dx,dy)(\mathrm{d}x, \mathrm{d}y) 在切平面上的竖直变化量

dx\mathrm{d}xdy\mathrm{d}y 极小的情况下,切平面与曲面完全贴合,因此才有 dzΔz\mathrm{d}z \approx \Delta z

实际上,更进一步地,我们发现

dz=F(dx,dy)\mathrm{d}z = \nabla F \cdot (\mathrm{d}x, \mathrm{d}y)

这可以类比到平面曲线中的 dy=kdx\mathrm{d}y = k\mathrm{d}x,在这里 F\nabla F 可以看成是斜率,(dx,dy)(\mathrm{d}x, \mathrm{d}y) 可以看成是平面上的位移,最后的效果是在切面上移动的竖直距离(详情可继续查看下文的方向导数)

方向导数

方向导数可以理解为曲面上某点沿着某方向的瞬时变化率

当我们描述某点的变化率时,实际上只关注这个点在 xOyxOy 平面内的投影的方向,因为通过这个方向,我们就能够在该点处的切平面上找到对应的向量,即瞬时变化方向

一个确定曲面某点处的瞬时变化率的方向取决于其在 xOyxOy 平面上的方向

我们前文中用等值线部分描述梯度方向(二维向量描述三维的梯度)也是这个道理

这里需要明确的是,瞬时变化都是在切平面上变化的。具体来说,如果是求实际变化值,那么就是 Δz=f(x+dx,y+dy)f(x,y)\Delta z = f(x + \mathrm{d}x, y + \mathrm{d}y) - f(x, y),而如果是瞬时变化,则是切平面上两点 (x+dx,y+dy,z(x+dx,y+dy))(x + \mathrm{d}x, y + \mathrm{d}y, z'(x + \mathrm{d}x, y + \mathrm{d}y))(x,y,z(x,y))(x, y, z'(x, y)) 之间的竖直高度差,即全微分

因此,如此看来,梯度实际上也就是一个特殊的方向导数

接下来就可以引入方向导数的计算了,给定一个方向,要求曲面在这个方向上的瞬时变化率(即导数),那么只需要求这个方向向量的单位向量在梯度方向上的投影即可

具体来说,已知单位方向向量 el=(cosα,cosβ)\vec{e_l} = (\cos\alpha, \cos\beta),其中 α\alpha 是方向向量与 xx 轴的夹角,β\beta 是方向向量与 yy 轴的夹角,那么函数 z=f(x,y)z = f(x, y) 在该方向上的方向导数为

fl=fel=fxcosα+fycosβ\frac{\partial f}{\partial l} = \nabla f \cdot \vec{e_l} = f_x\cos\alpha + f_y\cos\beta

偏导数

有了方向导数,那么偏导数的概念就很自然了

实际上,偏导数也是特殊的方向导数,即方向向量为 (0,1)(0, 1)(1,0)(1, 0) 的方向导数,直接套用上面方向导数的公式可得

fx=fx, fy=fy\frac{\partial f}{\partial x} = f_x, \space \frac{\partial f}{\partial y} = f_y