梯度和方向导数

梯度一词有时用于斜度,也就是一个曲面沿着给定方向的倾斜程度。

  梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。

  在单变量的实值函数的情况,梯度只是导数,或者,对于一个线性函数,也就是线的斜率。

  本篇涉及到的一些知识点可参考下面的链接:

  1. 向量:《线性代数笔记2——向量(向量简介)》
  2. 点积:《线性代数笔记3——向量2(点积)》
  3. 平面和法向量:《线性代数笔记5——平面方程与矩阵》
  4. 向量方程和直线的参数方程:《线性代数笔记6——直线和曲线的参数方程》

梯度的定义

  如果w = w(x, y, z), x = x(t), y = y(t), z = z(t),根据上篇介绍的链式法则:

 

  如果设w 是一个综合了w所有偏导数的向量,dr/dt是w变化速率的向量(速度向量),即:

  这样原式就可以简写为▽w和dr/dt的点积:

 

  ▽w就是梯度向量,简称梯度。对于函数w定义域上的任意x, y, z,都可以得到一个对应的梯度向量,所以也说w是w在某一点(x, y, x)上的梯度。由定义可以看到,梯度包含了偏导和导数的信息。

梯度垂直于等值面

  梯度的一个重要性质是:如果令w是一个常数,则梯度向量垂直于原函数的等面值。

  在平面直角坐标系中,对于圆的方程w(x, y) = x2 + y2 = C,w = C,在w上的任意一点(x, y)做梯度向量:

 

  w⊥等值线,即对于任意(x, y)的梯度▽w,都有▽w⊥w(x, y)

  对于多元函数也是如此,此时梯度是垂直于函数等值面的空间向量。

  先来看最简单的线性方程,w(x, y, z) = a1x + a2y + a3z,假设它的等值面是a1x + a2y + a3z = C,此时w的梯度:

 

  a1x + a2y + a3z = C的法向量也是< a1, a2, a3>,所以对于平面来说,法向量就是梯度向量。

  对于更复杂的三元函数,每个梯度都垂直于相应的等高线:

 

垂直的原因

  可以通过三元函数对梯度垂直于等值面加以证明。

  三元函数的等值面w(x, y , z) = C是一个曲面,等值面上的一条曲线向量是r = r(t):

  对于等值面上的曲线来说,它的速度向量:

 

  如果点在w上移动,在任一点上的速度向量v和曲线r相切;由于r在w上,所以速度向量v与曲面w相切。

 

  链式法则告诉我们w的值是由w的梯度向量和速度向量的点积决定的:

 

  由于w是等值面,所以:

 

  由于点积为0,所以▽w⊥v。对于任意方向的速度向量v,它们都源于同一点P,并且将共同组成一个曲线在该点的切平面,▽w垂直于这个切平面,也就是▽w在 P点与等值面垂直。

 

  从上面的论述得知,梯度向量垂直于函数在某点的等值面,等同于梯度垂直于在该点处的切面,梯度向量就是切平面的法向量。由此我们可以根据某点的梯度求得函数在该点处的切平面。

找出切平面

  示例:找出x2 + y2 – z2 = 4在(2, 1, 1)处的切平面

  这相当于 w(x, y, z) = x2 + y2 – z2在w = 4时的等值面。在(2, 1, 1)点处:

  也就是切平面的法向量是<4, 2, -2>,切平面是:

4x + 2y – 2z = C

  将(2, 1, 1)代入切平面后,C = 8,最终得到切平面:

2x + y – z = 4

  下图就是这个不怎么好看的三维图形:

方向导数

什么是方向导数

  方向导数是梯度向量的重要应用。

  w = w(x, y)的偏导wx和wy衡量了点在x轴和y轴移动时w的变化,那么如果在其它方向移动呢?是否在任意方向上都有一个导数呢?答案是肯定的,那就是方向导数。

几何意义

  对于w(x, y)来说,偏导的几何意义是平行于x轴或y轴方向的垂直平面上截线的斜率。类似的,方向导数就是某一方向上垂直平面截线在该方向的斜率,如下图所示:

  P1和P2点沿着u方向切线的斜率就是这两点在u方向上的方向导数。

计算方向导数

  点沿着x轴或y轴移动会产生一系列向量,如果沿着其它方向——例如某个单位向量u的方向——移动会如何?也就是给出一个单位向量u,沿着u的方向移动,函数值的会变化有多快?如下图所示,z = w(x, y)是一个多元函数,在某点(x, y)处开始,有一个单位向量u,问题是:当w上的对应点沿着u的方向变化时,函数w的值变化的有多快?

  先来看看直线的轨迹。如果以单位速度沿着u的方向运动,设s是运动的距离,轨迹向量r是点运动的轨迹,因为是直线,所以s = |r|。现在设轨迹向量r是关于运动距离的函数,r = r(s),那么r的变化率是单位向量u,也就是r的导数dr/ds = u

  我们真正关注的是沿着r的方向运动时,w的变化率是什么?也就是说,我们从一点开始,沿着某个方向改变变量(不一定是x或y的方向,可以是任意方向,比如这里r的方向),它的方向导数是什么?也就是dw/ds = ?

  u是和r同向的单位向量,现在将u作为下标代入dw/ds,表示沿u方向移动的导数:

  这就是在u方向上的方向导数的公式。

  如果把u写成两个方向的分量,u = u方向上的方向导数实际上也是梯度向量▽w在u方向上的分量:

  例如在x轴方向的方向导数,就等于x轴方向的分量,设x轴方向的单位向量是i,则:

 

  根据点积的定义,两个向量的点积等于这两个向量的模的乘积乘以二者的夹角余玄,这可以得到方向导数的第二个公式:

 

  最终,方向导数的计算公式是:

梯度的意义

  现在再来看看梯度告诉了我们什么。

  方向导数计算了梯度向量在u方向上的分量,让我们试着找出w在哪个方向上变化的最快,哪个方向上变化最慢或者根本不变。

  由于已知w函数和w上的一点,所以梯度是已知的,不确定的是方向根据方向导数的公式可以得到以下结论:

 

  由此得到了梯度的一种理解:梯度的方向是在给定点处令w的值增加得最快的方向;或者说在给定点处朝梯度方向运动,w的值将变化的最剧烈,变化率,也就是斜率等于梯度的模长。梯度的反方向,w的值减小的最快;梯度垂直的方向,也就是与等值面相切的方向,w不变。如果把w看作爬山,w上的给定点是你站立的位置,那么梯度方向就是向上爬山时最陡峭的地方,梯度的逆向就是向下爬时最陡峭的地方,梯度垂直方向就是站立点的等高线。在等高线上,梯度总是指向值最大的方向:

 综合示例

示例1

  求z = x3 + 3xy2在(1, 2, 13)处的切平面。

  

  切平面的法向量是<15, 12, -1>,切平面是15x + 12y – z = C。代入(1, 2, 13),C = 26

  也可以根据点积求得切平面。(x, y, z)是切平面上的点,由于法向量与切面向量垂直,故:

  这将得到相同的切平面15x + 12y – z = 26

示例2

  求x3 + 2xy + y2 = 9在(1, 2)处的切线。

  切线是7x + 6y = C。代入(1, 2),C = 19

示例3

  计算函数在P点处v方向的梯度。

 

  

 

  

  首先计算一下fx,似乎有些混乱,如果简化为一元函数就清晰多了:

  用y和z替换a和b,就得到f关于x的偏导,同理可得fy,fz

 

  

 

你可能感兴趣的:(梯度和方向导数)