- 因为梯度的概念是基于方向导数的概念与计算,所以首先要理解方向导数。
一、方向导数
个人认为对于方向导数的理解可基于偏导数的理解进行延申
对偏导数的理解
以二元函数 z = f ( x , y ) z=f(x,y) z=f(x,y)为例,进行直观理解:
- 偏导数:函数上某一点
(
x
0
,
y
0
)
(x_0,y_0)
(x0,y0)在x与y这两个方向上各自的变化情况,即:
x x x的偏导: f x ′ ( x o , y 0 ) {f_x}'(x_o,y_0) fx′(xo,y0)为函数在 x x x这一个方向上的变化情况
y y y的偏导: f y ′ ( x o , y 0 ) {f_y}'(x_o,y_0) fy′(xo,y0)为函数在 y y y这一个方向上的变化情况
这里重点强调了“一个方向”,即两个偏导数仅对应两个坐标轴的方向
延申:对方向导数的理解
方向导数相对于偏导数,可表示包含 x x x轴与 y y y轴两个方向在内的沿任意方向的变化情况
任意方向:只要一个方向导数存在,就认为此处方向导数存在
但偏导数仅限于 x x x与 y y y轴方向的方向导数都存在才被认为存在
由此可得:函数在某一点的方向导数存在时,其偏导数不一定存在(例如 z = x 2 + y 2 在 ( 0 , 0 ) 点处 z=\sqrt{x^2+y^2}在(0,0)点处 z=x2+y2在(0,0)点处)
仍然以
(
x
0
,
y
0
)
(x_0,y_0)
(x0,y0)这个点为例:
将这个点投影到
x
o
y
xoy
xoy平面上,将其沿
L
L
L这个方向移动,距离为
t
t
t,得到一个向量
设该向量与
x
x
x轴方向夹角(向量方向顺时针)为
α
\alpha
α,与
y
y
y轴方向夹角(向量方向逆时针)为
β
\beta
β
由此得到
f
(
x
,
y
)
f(x,y)
f(x,y)的参数方程:
f
(
x
,
y
)
=
{
x
=
x
0
+
t
⋅
c
o
n
α
y
=
y
0
+
t
⋅
c
o
n
β
\begin{equation*} f(x,y)= \left\{ \begin{array}{c} x=x_0+t\cdot con\alpha \\ y=y_0+t\cdot con\beta \end{array} \right. \end{equation*}
f(x,y)={x=x0+t⋅conαy=y0+t⋅conβ
基于此此参数方程,根据导数的定义,得到方向导数的表达式:
lim
t
→
0
f
(
y
0
+
t
c
o
s
β
,
x
0
+
t
c
o
s
α
)
−
f
(
y
0
,
x
0
)
t
=
∂
f
∂
L
∣
(
x
0
,
y
0
)
\lim_{t\to 0}\frac{f(y_0+tcos\beta,x_0+tcos\alpha)-f(y_0,x_0)}{t}=\frac{\partial f}{\partial L}\bigg\rvert_{(x_0,y_0)}
t→0limtf(y0+tcosβ,x0+tcosα)−f(y0,x0)=∂L∂f
(x0,y0)
如果沿
x
x
x或
y
y
y轴方向,即(1,0)与(0,1)方向,带入发现上式直接转化为了
x
x
x与
y
y
y的偏导数定义表达式
读者可自行尝试
方向导数的计算
法一:根据定义求,繁琐
法二:根据定理:
f ( x , y ) f(x,y) f(x,y)在 ( x 0 , y 0 ) (x_0,y_0) (x0,y0)可微,则方向导数存在,且:
∂ f ∂ L ∣ ( x 0 , y 0 ) = f x ′ ( x o , y 0 ) c o s α + f y ′ ( x o , y 0 ) c o s β \frac{\partial f}{\partial L}\bigg\rvert_{(x_0,y_0)}={f_x}'(x_o,y_0)cos\alpha+{f_y}'(x_o,y_0)cos\beta ∂L∂f (x0,y0)=fx′(xo,y0)cosα+fy′(xo,y0)cosβ
二、梯度
定义
由方向导数的表达式:
∂ f ∂ L ∣ ( x 0 , y 0 ) = f x ′ ( x o , y 0 ) c o s α + f y ′ ( x o , y 0 ) c o s β \frac{\partial f}{\partial L}\bigg\rvert_{(x_0,y_0)}={f_x}'(x_o,y_0)cos\alpha+{f_y}'(x_o,y_0)cos\beta ∂L∂f (x0,y0)=fx′(xo,y0)cosα+fy′(xo,y0)cosβ将 f x ′ ( x o , y 0 ) c o s α + f y ′ ( x o , y 0 ) c o s β {f_x}'(x_o,y_0)cos\alpha+{f_y}'(x_o,y_0)cos\beta fx′(xo,y0)cosα+fy′(xo,y0)cosβ改写为数量积形式,即两向量相乘的形式:
f x ′ ( x o , y 0 ) c o s α + f y ′ ( x o , y 0 ) c o s β = ( f x ′ ( x o , y 0 ) ⋅ f y ′ ( x o , y 0 ) ) ⋅ ( c o s α ⋅ c o s β ) {f_x}'(x_o,y_0)cos\alpha+{f_y}'(x_o,y_0)cos\beta=({f_x}'(x_o,y_0)\cdot{f_y}'(x_o,y_0))\cdot(cos\alpha\cdot cos\beta) fx′(xo,y0)cosα+fy′(xo,y0)cosβ=(fx′(xo,y0)⋅fy′(xo,y0))⋅(cosα⋅cosβ)(数量积公式:a=(x1,y1),b=(x2,y2),则a·b=x1·x2+y1·y2)
前半部分即为梯度的表达式,即:
∇ f ( x 0 , y 0 ) = g r a d f ( x 0 , y 0 ) = ( f x ′ ( x o , y 0 ) ⋅ f y ′ ( x o , y 0 ) ) \nabla f(x_0,y_0)=gradf(x_0,y_0)=({f_x}'(x_o,y_0)\cdot{f_y}'(x_o,y_0)) ∇f(x0,y0)=gradf(x0,y0)=(fx′(xo,y0)⋅fy′(xo,y0))
注:方向导数是个数,梯度是个向量!!
将梯度表达式代回方向导数的表达式,可得:
∂
f
∂
L
∣
(
x
0
,
y
0
)
=
g
r
a
d
f
(
x
0
,
y
0
)
⋅
(
c
o
s
α
⋅
c
o
s
β
)
\frac{\partial f}{\partial L}\bigg\rvert_{(x_0,y_0)}=gradf(x_0,y_0)\cdot (cos\alpha\cdot cos\beta)
∂L∂f
(x0,y0)=gradf(x0,y0)⋅(cosα⋅cosβ)将
(
c
o
s
α
⋅
c
o
s
β
)
(cos\alpha\cdot cos\beta)
(cosα⋅cosβ)视为单位向量
e
l
e_l
el,基于数量积公式,有:
∂
f
∂
L
∣
(
x
0
,
y
0
)
=
∣
g
r
a
d
f
(
x
0
,
y
0
)
∣
⋅
e
l
=
∣
g
r
a
d
f
(
x
0
,
y
0
)
∣
⋅
c
o
n
θ
\begin{align} \frac{\partial f}{\partial L}\bigg\rvert_{(x_0,y_0)}=&|gradf(x_0,y_0)|\cdot e_l \\ =&|gradf(x_0,y_0)|\cdot con\theta \end{align}
∂L∂f
(x0,y0)==∣gradf(x0,y0)∣⋅el∣gradf(x0,y0)∣⋅conθ当
θ
=
0
\theta=0
θ=0时,可得:
∂
f
∂
L
∣
(
x
0
,
y
0
)
=
∣
g
r
a
d
f
(
x
0
,
y
0
)
∣
\frac{\partial f}{\partial L}\bigg\rvert_{(x_0,y_0)}=|gradf(x_0,y_0)|
∂L∂f
(x0,y0)=∣gradf(x0,y0)∣因此,由上式可得:梯度的方向为函数在某一点方向导数值最大时的那个方向,梯度的模即为此时的方向导数值