3.1 为什么要引入方向导数?

在多元函数中,偏导数告诉我们函数沿坐标轴方向(比如 x x x 轴或 y y y 轴)的变化率。但实际中,我们常常需要知道函数沿任意给定方向的变化率。例如:

  • 在一座山上,你站在某点,想知道沿某个方向爬坡的坡度。
  • 在温度场中,想知道沿某个方向温度下降的快慢。

这就需要方向导数的概念。

3.2 方向导数的直观理解

想象一个二元函数 z = f ( x , y ) z = f(x, y) z=f(x,y) 的曲面。在曲面上一点 P P P,我们想沿某个方向(用单位向量 u \mathbf{u} u 表示)移动一小步,函数值变化了多少?方向导数就是函数在该点沿方向 u \mathbf{u} u瞬时变化率

类比一元函数的导数:沿 x x x 轴正方向的变化率就是 d f d x \frac{df}{dx} dxdf。方向导数就是把这个“方向”推广到任意方向。

3.3 方向导数的定义

设二元函数 z = f ( x , y ) z = f(x, y) z=f(x,y) 在点 P 0 ( x 0 , y 0 ) P_0(x_0, y_0) P0(x0,y0) 的某邻域内有定义。给定一个方向,用从 P 0 P_0 P0 出发的射线方向上的单位向量 u = ( cos ⁡ α , cos ⁡ β ) \mathbf{u} = (\cos\alpha, \cos\beta) u=(cosα,cosβ) 表示(其中 α , β \alpha, \beta α,β 是方向与 x x x 轴、 y y y 轴正向的夹角,且 cos ⁡ 2 α + cos ⁡ 2 β = 1 \cos^2\alpha + \cos^2\beta = 1 cos2α+cos2β=1,在三维中还有 cos ⁡ γ \cos\gamma cosγ)。

P 0 P_0 P0 处沿方向 u \mathbf{u} u 取一点 P ( x 0 + t cos ⁡ α , y 0 + t cos ⁡ β ) P(x_0 + t\cos\alpha, y_0 + t\cos\beta) P(x0+tcosα,y0+tcosβ),其中 t > 0 t > 0 t>0 是沿方向的位移长度。函数增量 Δ f = f ( x 0 + t cos ⁡ α , y 0 + t cos ⁡ β ) − f ( x 0 , y 0 ) \Delta f = f(x_0 + t\cos\alpha, y_0 + t\cos\beta) - f(x_0, y_0) Δf=f(x0+tcosα,y0+tcosβ)f(x0,y0)。如果极限
lim ⁡ t → 0 + Δ f t = lim ⁡ t → 0 + f ( x 0 + t cos ⁡ α , y 0 + t cos ⁡ β ) − f ( x 0 , y 0 ) t \lim_{t \to 0^+} \frac{\Delta f}{t} = \lim_{t \to 0^+} \frac{f(x_0 + t\cos\alpha, y_0 + t\cos\beta) - f(x_0, y_0)}{t} t0+limtΔf=t0+limtf(x0+tcosα,y0+tcosβ)f(x0,y0)
存在,则称此极限为函数 f f f 在点 P 0 P_0 P0 处沿方向 u \mathbf{u} u方向导数,记作 ∂ f ∂ u ∣ P 0 \frac{\partial f}{\partial \mathbf{u}}\big|_{P_0} uf P0 D u f ( P 0 ) D_{\mathbf{u}} f(P_0) Duf(P0)

注意

  • 方向导数是变化率,所以 t t t 趋于 0(就像导数中的 Δ x → 0 \Delta x \to 0 Δx0)。
  • 如果方向取 x x x 轴正向, u = ( 1 , 0 ) \mathbf{u} = (1,0) u=(1,0),则方向导数就是 f x f_x fx;如果取 y y y 轴正向,就是 f y f_y fy。但方向可以是任意角度。

3.4 如何计算方向导数?

如果函数 f ( x , y ) f(x, y) f(x,y) 在点 P 0 P_0 P0可微(即存在切平面,或者说偏导数连续等),那么方向导数可以通过偏导数方便地计算。

公式
D u f ( x 0 , y 0 ) = f x ( x 0 , y 0 ) cos ⁡ α + f y ( x 0 , y 0 ) cos ⁡ β , D_{\mathbf{u}} f(x_0, y_0) = f_x(x_0, y_0) \cos\alpha + f_y(x_0, y_0) \cos\beta, Duf(x0,y0)=fx(x0,y0)cosα+fy(x0,y0)cosβ,
其中 cos ⁡ α , cos ⁡ β \cos\alpha, \cos\beta cosα,cosβ 是方向 u \mathbf{u} u 的方向余弦。

对于三元函数 f ( x , y , z ) f(x, y, z) f(x,y,z) 沿方向 u = ( cos ⁡ α , cos ⁡ β , cos ⁡ γ ) \mathbf{u} = (\cos\alpha, \cos\beta, \cos\gamma) u=(cosα,cosβ,cosγ)
D u f ( x 0 , y 0 , z 0 ) = f x cos ⁡ α + f y cos ⁡ β + f z cos ⁡ γ . D_{\mathbf{u}} f(x_0, y_0, z_0) = f_x \cos\alpha + f_y \cos\beta + f_z \cos\gamma. Duf(x0,y0,z0)=fxcosα+fycosβ+fzcosγ.

这个公式可以理解为:方向导数等于梯度向量与方向向量的点积。梯度 ∇ f = ( f x , f y ) \nabla f = (f_x, f_y) f=(fx,fy),所以
D u f = ∇ f ⋅ u . D_{\mathbf{u}} f = \nabla f \cdot \mathbf{u}. Duf=fu.

推导思路:利用全微分,当沿方向移动 t t t 时,函数增量近似为 d f = f x d x + f y d y df = f_x dx + f_y dy df=fxdx+fydy,而 d x = t cos ⁡ α dx = t\cos\alpha dx=tcosα d y = t cos ⁡ β dy = t\cos\beta dy=tcosβ,所以 Δ f ≈ ( f x cos ⁡ α + f y cos ⁡ β ) t \Delta f \approx (f_x \cos\alpha + f_y \cos\beta) t Δf(fxcosα+fycosβ)t,除以 t t t 取极限即得。

3.5 例子

例1:求 f ( x , y ) = x 2 + 3 x y f(x, y) = x^2 + 3xy f(x,y)=x2+3xy 在点 P ( 1 , 2 ) P(1, 2) P(1,2) 处沿方向 u = ( 1 2 , 1 2 ) \mathbf{u} = (\frac{1}{\sqrt{2}}, \frac{1}{\sqrt{2}}) u=(2 1,2 1)(即与 x x x 轴成45°角)的方向导数。

解:

  • 先求偏导数: f x = 2 x + 3 y f_x = 2x + 3y fx=2x+3y f y = 3 x f_y = 3x fy=3x
  • 在点 ( 1 , 2 ) (1, 2) (1,2) f x ( 1 , 2 ) = 2 ⋅ 1 + 3 ⋅ 2 = 2 + 6 = 8 f_x(1,2) = 2\cdot 1 + 3\cdot 2 = 2 + 6 = 8 fx(1,2)=21+32=2+6=8 f y ( 1 , 2 ) = 3 ⋅ 1 = 3 f_y(1,2) = 3\cdot 1 = 3 fy(1,2)=31=3
  • 方向余弦: cos ⁡ α = 1 2 \cos\alpha = \frac{1}{\sqrt{2}} cosα=2 1 cos ⁡ β = 1 2 \cos\beta = \frac{1}{\sqrt{2}} cosβ=2 1
  • 方向导数: D u f = 8 ⋅ 1 2 + 3 ⋅ 1 2 = 11 2 = 11 2 2 D_{\mathbf{u}} f = 8 \cdot \frac{1}{\sqrt{2}} + 3 \cdot \frac{1}{\sqrt{2}} = \frac{11}{\sqrt{2}} = \frac{11\sqrt{2}}{2} Duf=82 1+32 1=2 11=2112
例2:求 f ( x , y , z ) = e x y + sin ⁡ z f(x, y, z) = e^{xy} + \sin z f(x,y,z)=exy+sinz 在点 ( 0 , 1 , π / 2 ) (0, 1, \pi/2) (0,1,π/2) 处沿方向 v = ( 1 , 2 , 2 ) \mathbf{v} = (1, 2, 2) v=(1,2,2) 的方向导数。

解:

  • 首先将方向 v \mathbf{v} v 单位化: ∥ v ∥ = 1 2 + 2 2 + 2 2 = 3 \|\mathbf{v}\| = \sqrt{1^2 + 2^2 + 2^2} = 3 v=12+22+22 =3,所以单位向量 u = ( 1 3 , 2 3 , 2 3 ) \mathbf{u} = (\frac{1}{3}, \frac{2}{3}, \frac{2}{3}) u=(31,32,32)
  • 偏导数: f x = y e x y f_x = y e^{xy} fx=yexy f y = x e x y f_y = x e^{xy} fy=xexy f z = cos ⁡ z f_z = \cos z fz=cosz
  • 在点 ( 0 , 1 , π / 2 ) (0,1,\pi/2) (0,1,π/2) f x = 1 ⋅ e 0 = 1 f_x = 1 \cdot e^{0} = 1 fx=1e0=1 f y = 0 ⋅ e 0 = 0 f_y = 0 \cdot e^{0} = 0 fy=0e0=0 f z = cos ⁡ ( π / 2 ) = 0 f_z = \cos(\pi/2) = 0 fz=cos(π/2)=0
  • 方向导数: D u f = 1 ⋅ 1 3 + 0 ⋅ 2 3 + 0 ⋅ 2 3 = 1 3 D_{\mathbf{u}} f = 1 \cdot \frac{1}{3} + 0 \cdot \frac{2}{3} + 0 \cdot \frac{2}{3} = \frac{1}{3} Duf=131+032+032=31

3.6 方向导数与梯度的关系

梯度向量 ∇ f = ( f x , f y ) \nabla f = (f_x, f_y) f=(fx,fy) 是一个非常重要的概念,它与方向导数有密切关系:

  • 梯度方向是方向导数最大的方向:在所有方向中,沿梯度方向的方向导数最大,且最大值等于梯度的模 ∣ ∇ f ∣ |\nabla f| ∣∇f
  • 沿梯度相反方向的方向导数最小(负的最大值)。
  • 垂直于梯度方向的方向导数为零(函数在该方向变化率为零,即等值线方向)。

解释:方向导数 D u f = ∇ f ⋅ u = ∣ ∇ f ∣ cos ⁡ θ D_{\mathbf{u}} f = \nabla f \cdot \mathbf{u} = |\nabla f| \cos\theta Duf=fu=∣∇fcosθ,其中 θ \theta θ ∇ f \nabla f f u \mathbf{u} u 的夹角。显然,当 θ = 0 \theta = 0 θ=0(同向)时最大; θ = π \theta = \pi θ=π 时最小; θ = π / 2 \theta = \pi/2 θ=π/2 时为零。

3.7 几何意义

  • 在二元函数中,方向导数表示曲面沿该方向的倾斜程度(斜率)。
  • 在等值线(等高线)图中,方向导数的大小反映了垂直等高线方向的陡峭程度。

3.8 方向导数的存在性与可微

需要注意的是,方向导数的定义不要求函数可微,只要极限存在即可。但若函数在某点可微,则沿任何方向的方向导数都存在,且可用梯度点积公式计算。反之,即使所有方向的方向导数都存在,函数也不一定可微(反例存在)。因此,梯度公式是建立在可微条件下的简便计算方法。

3.9 应用

  • 最速下降法:在优化问题中,为了最快找到函数的最小值,我们沿着负梯度方向(即方向导数最小的方向)搜索,因为这是函数下降最快的方向。
  • 物理中的方向导数:如温度梯度、电势梯度等,方向导数表示沿某方向的变化率。
  • 几何中求某方向上的斜率

上一章 机器学习数学基础–(2)偏导数

下一章 机器学习数学基础–(4)梯度

更多推荐