梯度一词有时用于斜度,也就是一个曲面沿着给定方向的倾斜程度。
梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。
在单变量的实值函数的情况,梯度只是导数,或者,对于一个线性函数,也就是线的斜率。
本篇涉及到的一些知识点可参考下面的链接:
如果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上的给定点是你站立的位置,那么梯度方向就是向上爬山时最陡峭的地方,梯度的逆向就是向下爬时最陡峭的地方,梯度垂直方向就是站立点的等高线。在等高线上,梯度总是指向值最大的方向:
求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
求x3 + 2xy + y2 = 9在(1, 2)处的切线。
切线是7x + 6y = C。代入(1, 2),C = 19
计算函数在P点处v方向的梯度。
首先计算一下fx,似乎有些混乱,如果简化为一元函数就清晰多了:
用y和z替换a和b,就得到f关于x的偏导,同理可得fy,fz: