方向余弦和梯度

方向余弦

我们首先来通过二维向量来理解一下,方向余弦的定义:

在平面指教坐标系中,一个向量 l→=(x,y), 它和 x轴的夹角为α, 它和y轴的夹角为那么β , 那么 cos⁡α,cos⁡β就叫作向量l→的方向余弦。

这个向量的长度我们也很容易的算出来:

|l→| =x2+y2

那么,我们的方向余弦就是:

cos⁡α=x|l→|,cos⁡β=y|l→|

将 |l→| 带入第二个式子,我们就可以知道,方向余弦的平方和等于 1.

其实我们就可以知道,其实向量的方向余弦组成的向量 = 该向量方向上的单位向量。

∂z∂l→|(x0,y0)=limt→0+Δzt=limt→0+f(B)−f(A)t=limt→0+f(x0+tcos⁡α, y0+tcos⁡β)−f(x0,y0)t

下面的图像帮助我们理解:

方向导数

我们了解完了方向余弦的定义之后,我们来看方向导数。其实我们知道导数的定义其实最本质的就是, ∆因变量/∆自变量 让 ∆自变量 趋于 0的值,就是我们导数的最根本的定义。 我们研究偏导数是让x当常数或者y当常数(二元的情况),另一个变化来研究函数的在这一方向的变化率的。那在研究方向导数的时候,我们其实是要求两个变量都要变(二元的情况),如上图:从点 A(x0,y0)移动到点 B(x0+tcos⁡α, y0+tcos⁡β),A点变化到B点的方向与x轴的正方向的夹角是α,与y轴正方向的夹角是β,自变量的增量我们记作t, 沿方向 l→​增量分量:

Δx=tcos⁡α

Δy=tcos⁡β

t其实是我们向量l→的模长,我们因变量的增量我们记作∆z,f(B)是B点的函数值,f(A)是A点的函数值。那么我们分子就可以用三角函数的知识把增量表达出来:

∂z∂l→|(x0,y0)=limt→0+Δzt=limt→0+f(B)−f(A)t=limt→0+f(x0+tcos⁡α, y0+tcos⁡β)−f(x0,y0)t

 

那么上面的式子就是我们方向导数的完整定义式。

当我们f(x,y)可偏导,则方向导数和偏导数的关系:

  1. 若 l→ 为 x 轴正方向,则 α=0,β=π2,有 cos⁡α=1,cos⁡β=0, 化为

 limt→0+f(x0+t, y0)−f(x0, y0)t=fx(x0, y0) 。

  1. l→ 为 y 轴正方向,则 α=π2,β=0,有 cos⁡α=0,cos⁡β=1, 化为

limt→0+f(x0, y0+t)−f(x0, y0)t=fy(x0, y0) 。

所以我们就知道其实偏导数其实是方向导数的特例。


上面其实我们用的是导数的定义来证明的,接下来我们来用全微分的定义,来推倒一下我们更常见的形式。

若z=f(x,y)可微,则:

Δz=fxΔx+fyΔy+o((Δx)2+(Δy)2)

又因为Δx=tcos⁡α,Δy=tcos⁡β,所以上面的式子化为:

f(x0+tcos⁡α,y0+tcos⁡β)−f(x0,y0)=fxcos⁡α⋅t+fycos⁡β⋅t+o(t)

然后我们两边同时除以t,取极限,是不是左边就变成了我们上面用导数定义去定义的方向导数的式子, 而右边就变成了fxcos⁡α+fycos⁡β​, 那么是不是就可以用就可以变成向量的点乘,把这个结果拆开了:

 

∂z∂l→|(x0,y0)=fxcos⁡α+fycos⁡β=(fx, fy)⋅(cos⁡α, cos⁡β)​

那么我们就由此引入了梯度的概念,在二元函数的情况下,(fx, fy)这个我们就定义成了梯度向量的概念。

∇f是梯度向量的表示方式,所以方向导数的定义我们还可以通过上面的式子这样写:

∂z∂l→|(x0,y0)=l→⋅∇f

解释一下就是:一点的方向导数就等于方向余弦乘以我们的梯度向量。

一个函数在某点处的方向导数其实是等于 方向余弦点乘梯度,方向肯定是可以变的,梯度向量(梯度函数)我们一旦函数的一个点确定了,也是不可以变的了(即方向都是定了的)。

但是我们的方向方向导数是可以360°去变的,那么接下来,我们就研究一下,方向导数到底是怎么去变的?

这里我们使用一下向量点乘的规则,两个向量点乘,就等于两个向量的模相乘再乘以他们夹角的余弦值。那么:

∂z∂l→|(x0,y0)=l→⋅∇f=|l→|⋅|∇f|⋅cos⁡θ=|∇f|⋅cos⁡θ

又因为|l→|这个是方向余弦是个单位向量,长度为1,那么我们就可以得出,一个函数在一点的方向余弦其实是跟夹角的余弦值只是有关系的。

所以−1<=cos⁡θ<=1 。

 

如果排版看着不舒服,可以去语雀看