尝试从不同的角度来理解方向导数
flyfish
假设有一个两个变量的函数(如图左所示)。现在取表面的一个矩形片段并放大,如图右所示。
接下来画出由向量 i ^ \hat{i} i^ 和 j ^ \hat{j} j^ 所表示的向量。
在这个例子中,向量 i ^ \hat{i} i^与蓝色向量平行,而向量 j ^ \hat{j} j^与红色向量平行。 i ^ \hat{i} i^和 j ^ \hat{j} j^都是单位向量,也就是说它们的长度为1。
蓝色向量的实际大小由表面片段(绿色矩形)在x方向的斜率决定,而红色向量的实际大小由表面片段(绿色矩形)在y方向的斜率决定。
现在有了两条向量,标记为蓝色和红色。如果将这两条向量相加,会得到另一条标记为绿色的向量。这就是该点处的梯度。
图中的梯度向量公式
∇
f
=
∂
f
∂
x
i
^
+
∂
f
∂
y
j
^
\nabla f = \frac{\partial f}{\partial x} \hat{i} + \frac{\partial f}{\partial y} \hat{j}
∇f=∂x∂fi^+∂y∂fj^
- 公式1 梯度向量的坐标形式:每个分量代表在各个坐标轴方向上的变化率
∇ f = ( ∂ f ∂ x , ∂ f ∂ y ) \nabla f = (\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y}) ∇f=(∂x∂f,∂y∂f)
-
∇ f \nabla f ∇f:梯度向量的符号,表示函数 f f f 的梯度。
-
∂ f ∂ x \frac{\partial f}{\partial x} ∂x∂f:函数 f f f 对变量 x x x 的偏导数,表示 f f f 在 x x x 方向上的变化率。
-
∂ f ∂ y \frac{\partial f}{\partial y} ∂y∂f:函数 f f f 对变量 y y y 的偏导数,表示 f f f 在 y y y 方向上的变化率。
- 公式2 线性组合形式:每个方向上的分量对整个梯度向量的贡献
∇ f = ∂ f ∂ x i ^ + ∂ f ∂ y j ^ \nabla f = \frac{\partial f}{\partial x} \hat{i} + \frac{\partial f}{\partial y} \hat{j} ∇f=∂x∂fi^+∂y∂fj^
-
i ^ \hat{i} i^ 和 j ^ \hat{j} j^:分别表示二维空间中 x x x 和 y y y 方向的单位向量。
-
∂ f ∂ x i ^ \frac{\partial f}{\partial x} \hat{i} ∂x∂fi^:表示在 x x x 方向上的梯度分量。
-
∂ f ∂ y j ^ \frac{\partial f}{\partial y} \hat{j} ∂y∂fj^:表示在 y y y 方向上的梯度分量。
f
f
f,
g
g
g,或者其他类似的符号通常是函数名称,表示一个实值函数,例如
f
(
x
,
y
)
f(x,y)
f(x,y),它依赖于多个自变量。
i
^
\hat{i}
i^ 和
j
^
\hat{j}
j^ 分别是笛卡尔坐标系中的基向量,分别对应于 x 和 y 轴。在二维情况下,
i
^
\hat{i}
i^ 和
j
^
\hat{j}
j^ 都是单位向量,长度为 1。
中间部分提到:
Grid for x values 指的是用于确定 x 轴方向的网格。
Grid for y values 是指用于确定 y 轴方向的网格。
Direction of this vector is determined by j ^ \hat{j} j^ 表示梯度向量的方向由 j ^ \hat{j} j^方向(即 y 轴)决定。
Size of this vector is determined by ∂ f ∂ y \frac{\partial f}{\partial y} ∂y∂f 意味着梯度向量的大小由 ∂ f ∂ y \frac{\partial f}{\partial y} ∂y∂f 决定。
下方部分提到:
Direction of this vector is determined by i ^ \hat{i} i^ 指出梯度向量的方向由 i ^ \hat{i} i^方向(即 x 轴)决定。
Size of this vector is determined by ∂ f ∂ x \frac{\partial f}{\partial x} ∂x∂f表明梯度向量的大小由 ∂ f ∂ x \frac{\partial f}{\partial x} ∂x∂f决定。
梯度向量
∇
f
\nabla f
∇f 和单位向量
v
\mathbf{v}
v 的点积
∇
f
⋅
v
\nabla f \cdot \mathbf{v}
∇f⋅v 给出了函数在方向
v
\mathbf{v}
v 上的变化率。这是因为点积的结果可以解释为:
∇
f
⋅
v
=
∥
∇
f
∥
∥
v
∥
cos
θ
\nabla f \cdot \mathbf{v} = \|\nabla f\| \|\mathbf{v}\| \cos \theta
∇f⋅v=∥∇f∥∥v∥cosθ
其中
θ
\theta
θ 是梯度向量和方向向量之间的夹角。使用单位向量(即
∥
v
∥
=
1
\|\mathbf{v}\| = 1
∥v∥=1)简化了这个公式:
∇
f
⋅
v
=
∥
∇
f
∥
cos
θ
\nabla f \cdot \mathbf{v} = \|\nabla f\| \cos \theta
∇f⋅v=∥∇f∥cosθ
这样我们可以直接得到梯度在方向
v
\mathbf{v}
v 上的投影长度,即沿该方向的变化率。
蓝色和红色向量的大小以及绿色向量的方向会因每个方向上的微分值的不同而有很大的变化
方向导数
方向导数的公式是:
D
v
f
(
a
)
=
∇
f
(
a
)
⋅
v
^
D_{\mathbf{v}} f(\mathbf{a}) = \nabla f(\mathbf{a}) \cdot \hat{\mathbf{v}}
Dvf(a)=∇f(a)⋅v^
方向单位向量 v ^ \hat{\mathbf{v}} v^ :
v
^
\hat{\mathbf{v}}
v^ 是一个单位向量,表示计算方向导数的方向。
v
^
\hat{\mathbf{v}}
v^ 可以是任意方向的单位向量,不限于
x
x
x 轴或
y
y
y 轴。它可以沿任何方向
v
\mathbf{v}
v 指定的方向来计算。
方向导数可以通过梯度与方向向量的点积来理解
如果
f
f
f 在点
a
\mathbf{a}
a 处可微,则沿方向
v
\mathbf{v}
v 的方向导数为:
D
v
f
(
a
)
=
∇
f
(
a
)
⋅
v
D_{\mathbf{v}} f(\mathbf{a}) = \nabla f(\mathbf{a}) \cdot \mathbf{v}
Dvf(a)=∇f(a)⋅v
其中, ∇ f ( a ) \nabla f(\mathbf{a}) ∇f(a) 是 f f f 在点 a \mathbf{a} a 处的梯度向量, ⋅ \cdot ⋅ 表示向量的点积。
方向导数也可以通过函数的偏导数与方向向量分量的加权和来理解
- 定义 :对于方向
v
=
(
v
1
,
v
2
,
…
,
v
n
)
\mathbf{v} = (v_1, v_2, \ldots, v_n)
v=(v1,v2,…,vn),方向导数可以表示为:
D v f ( a ) = ∑ i = 1 n v i ∂ f ∂ x i ( a ) D_{\mathbf{v}} f(\mathbf{a}) = \sum_{i=1}^n v_i \frac{\partial f}{\partial x_i}(\mathbf{a}) Dvf(a)=i=1∑nvi∂xi∂f(a)
这里, ∂ f ∂ x i ( a ) \frac{\partial f}{\partial x_i}(\mathbf{a}) ∂xi∂f(a) 是函数 f f f 在点 a \mathbf{a} a 处关于第 i i i 个变量的偏导数。
方向导数还可以被视为梯度向量在方向向量上的投影
方向导数可以看作是梯度向量在方向向量上的投影大小:
D
v
f
(
a
)
=
∥
∇
f
(
a
)
∥
∥
v
∥
cos
θ
D_{\mathbf{v}} f(\mathbf{a}) = \|\nabla f(\mathbf{a})\| \|\mathbf{v}\| \cos \theta
Dvf(a)=∥∇f(a)∥∥v∥cosθ
其中, θ \theta θ 是梯度向量与方向向量之间的夹角。
方向导数是通过极限来理解
这种理解方式是同济大学《高等数学 第七版 下册》103页的《方向导数与梯度》的理解方式。
最后会附上书上是怎么说的。
方向导数是通过极限来定义的,表示函数在某一点沿着某一方向的变化率:
给定函数
f
:
R
n
→
R
f: \mathbb{R}^n \to \mathbb{R}
f:Rn→R,在点
a
=
(
a
1
,
a
2
,
…
,
a
n
)
\mathbf{a} = (a_1, a_2, \ldots, a_n)
a=(a1,a2,…,an) 处沿方向
v
=
(
v
1
,
v
2
,
…
,
v
n
)
\mathbf{v} = (v_1, v_2, \ldots, v_n)
v=(v1,v2,…,vn) 的方向导数定义为:。
D
v
f
(
a
)
=
lim
t
→
0
+
f
(
a
+
t
v
)
−
f
(
a
)
t
D_{\mathbf{v}} f(\mathbf{a}) = \lim_{t \to 0^+} \frac{f(\mathbf{a} + t\mathbf{v}) - f(\mathbf{a})}{t}
Dvf(a)=t→0+limtf(a+tv)−f(a)
其中,
v
\mathbf{v}
v 是方向向量,通常为单位向量(即
∥
v
∥
=
1
\|\mathbf{v}\| = 1
∥v∥=1)。
D
v
f
(
a
)
=
lim
t
→
0
+
f
(
a
+
t
v
)
−
f
(
a
)
t
公式说明
D_{\mathbf{v}} f(\mathbf{a}) = \lim_{t \to 0^+} \frac{f(\mathbf{a} + t\mathbf{v}) - f(\mathbf{a})}{t} 公式说明
Dvf(a)=t→0+limtf(a+tv)−f(a)公式说明
-
D v f ( a ) D_{\mathbf{v}} f(\mathbf{a}) Dvf(a):表示函数 f f f 在点 a \mathbf{a} a 沿方向 v \mathbf{v} v 的方向导数。
-
f f f:待求导的多元函数 f : R n → R f: \mathbb{R}^n \to \mathbb{R} f:Rn→R。
-
a = ( a 1 , a 2 , … , a n ) \mathbf{a} = (a_1, a_2, \ldots, a_n) a=(a1,a2,…,an):定义域 R n \mathbb{R}^n Rn 中的点,是我们求导数的起始点。
-
v = ( v 1 , v 2 , … , v n ) \mathbf{v} = (v_1, v_2, \ldots, v_n) v=(v1,v2,…,vn):表示方向向量,通常是一个单位向量。
-
t t t:参数,表示从点 a \mathbf{a} a 沿方向 v \mathbf{v} v 移动的距离(趋向于0)。
-
f ( a + t v ) f(\mathbf{a} + t\mathbf{v}) f(a+tv):表示从点 a \mathbf{a} a 沿方向 v \mathbf{v} v 移动距离 t t t 后函数的值。
-
f ( a ) f(\mathbf{a}) f(a):表示函数在点 a \mathbf{a} a 处的值。
-
lim t → 0 + \lim_{t \to 0^+} limt→0+:表示取极限, t t t 从正向趋近于零。
符号
R
\mathbb{R}
R 表示实数集。多元函数
f
:
R
n
→
R
f: \mathbb{R}^n \to \mathbb{R}
f:Rn→R 中的
R
\mathbb{R}
R 代表的是函数的定义域和值域都是实数。
具体来说:
-
R n \mathbb{R}^n Rn: 表示实数的 n n n 维空间,也称为欧几里得空间。函数的输入(自变量)是一个 n n n 维向量,即包含 n n n 个实数的有序数组。
-
R \mathbb{R} R: 表示实数。函数的输出(函数值)是一个实数。
因此,函数 f : R n → R f: \mathbb{R}^n \to \mathbb{R} f:Rn→R 的含义是:它将 n n n 个实数(即一个 n n n 维向量)映射到一个实数。这样的函数通常用于描述空间中的曲面或超曲面。以下是一个简单的例子来说明这种函数:
示例
考虑函数 f ( x , y ) = x 2 + y 2 f(x, y) = x^2 + y^2 f(x,y)=x2+y2,它是从二维实数空间 R 2 \mathbb{R}^2 R2 到实数集 R \mathbb{R} R 的函数:
-
定义域: ( x , y ) ∈ R 2 (x, y) \in \mathbb{R}^2 (x,y)∈R2
-
值域: z ∈ R z \in \mathbb{R} z∈R
该函数接收二维向量 ( x , y ) (x, y) (x,y) 作为输入,并返回一个实数 z = x 2 + y 2 z = x^2 + y^2 z=x2+y2,表示在空间中的一个曲面(抛物面)。在这个例子中, R 2 \mathbb{R}^2 R2 指的是所有可能的 ( x , y ) (x, y) (x,y) 组合, R \mathbb{R} R 是输出值 z z z 的集合。
下面叙述的内容就是同济版本。
设
l
l
l是
x
O
y
xOy
xOy平面上以
P
0
(
x
0
,
y
0
)
P_0(x_0,y_0)
P0(x0,y0)为始点的一条射线,
e
l
=
(
cos
α
,
cos
β
)
e_l=(\cos \alpha,\cos \beta)
el=(cosα,cosβ)是与
l
l
ll同方向的单位向量,射线
l
l
l的参数方程为
x = x 0 + t cos α y = y 0 + t cos β t ⩾ 0 \begin{array} { c } { x = x _ { 0 } + t \cos \alpha } \\ { y = y _ { 0 } + t \cos \beta } \\ { t \geqslant 0 } \end{array} x=x0+tcosαy=y0+tcosβt⩾0
设函数
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)的某个领域
U
(
P
0
)
U(P_0)
U(P0)内有定义,
P
(
x
0
+
t
c
o
s
α
,
y
0
+
t
c
o
s
β
)
P(x_{0}+tcos\alpha,y_{0}+tcos\beta)
P(x0+tcosα,y0+tcosβ)为
l
l
l上的另一点,且
P
∈
U
(
P
0
)
P\in U(P_{0})
P∈U(P0)。如果函数增量
f
(
x
0
+
t
c
o
s
α
,
y
0
+
t
c
o
s
β
)
−
f
(
x
0
,
y
0
)
{f(x_{0}+tcos\alpha,y_{0}+tcos\beta)-f(x_{0},y_{0})}
f(x0+tcosα,y0+tcosβ)−f(x0,y0)与点
P
P
P到点
P
0
P_0
P0的距离
∣
P
P
0
∣
=
t
|PP_0|=t
∣PP0∣=t的比值
f
(
x
0
+
t
c
o
s
α
,
y
0
+
t
c
o
s
β
)
−
f
(
x
0
,
y
0
)
t
\frac{f(x_{0}+tcos\alpha,y_{0}+tcos\beta)-f(x_{0},y_{0})}{t}
tf(x0+tcosα,y0+tcosβ)−f(x0,y0)
当
P
P
P沿着
l
l
l趋向于
P
0
(
即
t
→
0
+
)
P_{0}(即t\rightarrow0^{+})
P0(即t→0+)时的极限存在,则称此极限为函数
f
(
x
,
y
)
f(x,y)
f(x,y)在点
P
0
P_0
P0沿方向ll的方向导数。
个人对同济的分析,不做为参考
-
函数增量 : f ( x 0 + t cos α , y 0 + t cos β ) − f ( x 0 , y 0 ) f(x_{0}+t\cos\alpha,y_{0}+t\cos\beta)-f(x_{0},y_{0}) f(x0+tcosα,y0+tcosβ)−f(x0,y0)
这个表达式表示在射线 l l l 上点 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β) 处函数值的变化量。 -
距离 : ∣ P P 0 ∣ = t |PP_0| = t ∣PP0∣=t
这是点 P P P 到 P 0 P_0 P0 的距离,也是射线上的参数 t t t。 -
比值与极限 : f ( x 0 + t cos α , y 0 + t cos β ) − f ( x 0 , y 0 ) t \frac{f(x_{0}+t\cos\alpha,y_{0}+t\cos\beta)-f(x_{0},y_{0})}{t} tf(x0+tcosα,y0+tcosβ)−f(x0,y0)
这个比值表示在方向 e l = ( cos α , cos β ) e_l = (\cos\alpha, \cos\beta) el=(cosα,cosβ) 上的单位距离变化时,函数值的变化速率。当 t → 0 + t \to 0^+ t→0+ 时,极限的存在表示函数在该方向上的变化是确定的,从而可以定义方向导数。
从物理上向量场的流速来理解
在物理和工程中,方向导数可以表示为标量场(如温度场、压力场等)在某一方向上的变化速率:
在一个标量场
f
f
f 中,方向导数表示沿方向
v
\mathbf{v}
v 的变化速率:
D
v
f
(
a
)
=
lim
t
→
0
+
f
(
a
+
t
v
)
−
f
(
a
)
t
D_{\mathbf{v}} f(\mathbf{a}) = \lim_{t \to 0^+} \frac{f(\mathbf{a} + t\mathbf{v}) - f(\mathbf{a})}{t}
Dvf(a)=t→0+limtf(a+tv)−f(a)
这与极限定义一致,但强调物理解释为流速或变化速率。
方向向量 u ⃗ \vec{u} u 和梯度向量 ∇ f \nabla f ∇f 完全同向的情况
梯度是一个向量,它指出了函数增长最快的局部方向,并且它的模给出了这个方向上的增长速率。
对于一个多元函数 f ( x , y , z ) f(x, y, z) f(x,y,z),其梯度定义为:
∇ f = ( ∂ f ∂ x , ∂ f ∂ y , ∂ f ∂ z ) \nabla f = \left( \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y}, \frac{\partial f}{\partial z} \right) ∇f=(∂x∂f,∂y∂f,∂z∂f)
方向导数是指函数沿着特定方向的增长率。如果有一个单位方向向量 u ⃗ = ( u x , u y , u z ) \vec{u} = (u_x, u_y, u_z) u=(ux,uy,uz),那么函数 f f f 在点 ( x , y , z ) (x, y, z) (x,y,z) 沿着方向 u ⃗ \vec{u} u 的方向导数可以表示为:
D u ⃗ f = ∇ f ⋅ u ⃗ = ∂ f ∂ x u x + ∂ f ∂ y u y + ∂ f ∂ z u z D_{\vec{u}}f = \nabla f \cdot \vec{u} = \frac{\partial f}{\partial x} u_x + \frac{\partial f}{\partial y} u_y + \frac{\partial f}{\partial z} u_z Duf=∇f⋅u=∂x∂fux+∂y∂fuy+∂z∂fuz
这里 ⋅ \cdot ⋅ 表示点积。方向导数也可以写作:
D u ⃗ f = ∣ ∇ f ∣ ∣ u ⃗ ∣ cos θ D_{\vec{u}}f = |\nabla f| |\vec{u}| \cos \theta Duf=∣∇f∣∣u∣cosθ
其中 θ \theta θ 是梯度向量 ∇ f \nabla f ∇f 和方向向量 u ⃗ \vec{u} u 之间的夹角,而 ∣ ∇ f ∣ |\nabla f| ∣∇f∣ 和 ∣ u ⃗ ∣ |\vec{u}| ∣u∣ 分别是这两个向量的模。由于 u ⃗ \vec{u} u 是单位向量,所以 ∣ u ⃗ ∣ = 1 |\vec{u}| = 1 ∣u∣=1。
当 cos θ = 1 \cos \theta = 1 cosθ=1 时,这意味着 θ = 0 \theta = 0 θ=0,也就是说方向向量 u ⃗ \vec{u} u 和梯度向量 ∇ f \nabla f ∇f 完全同向。在这种情况下,方向导数 D u ⃗ f D_{\vec{u}}f Duf 将会是梯度向量模的最大可能值,即 ∣ ∇ f ∣ |\nabla f| ∣∇f∣。这是因为 cos θ \cos \theta cosθ 的最大值为 1,这使得方向导数最大。
因此,当 cos θ = 1 \cos \theta = 1 cosθ=1 时,方向向量和梯度向量完全同向,函数值增长最快的方向就是梯度的方向。
当讨论方向导数时,是在讨论方向向量。方向导数是指函数在某一点沿着某个方向的变化率。方向向量 u ⃗ \vec{u} u 是一个单位向量,它指定了我们感兴趣的方向。方向导数可以通过点积(内积)计算得到,其中包含了一个角度 θ \theta θ,它是梯度向量 ∇ f \nabla f ∇f 和方向向量 u ⃗ \vec{u} u 之间的夹角。
方向向量和梯度向量之间的关系
当方向向量
u
⃗
\vec{u}
u 与梯度向量重合时(
θ
=
0
∘
\theta = 0^\circ
θ=0∘),
cos
θ
\cos \theta
cosθ 的值为 1;
当
u
⃗
\vec{u}
u 与
∇
f
\nabla f
∇f 成直角时(
θ
=
9
0
∘
\theta = 90^\circ
θ=90∘ 或
θ
=
27
0
∘
\theta = 270^\circ
θ=270∘),
cos
θ
\cos \theta
cosθ 的值为 0;
当
u
⃗
\vec{u}
u 与
∇
f
\nabla f
∇f 反向时(
θ
=
18
0
∘
\theta = 180^\circ
θ=180∘),
cos
θ
\cos \theta
cosθ 的值为 -1。
图片参考
https://www.sharetechnote.com/html/Calculus_Gradient.html