浅谈矢量场 —— 1. 梯度、散度与拉普拉斯算子

浅谈矢量场 —— 1. 梯度、散度与拉普拉斯算子

文章目录

梯度(gradient)什么是梯度差分形式

散度(divergence)拉普拉斯算子(Laplace Operator)差分形式

梯度(gradient)

什么是梯度

开始这个话题之前,我想先引入梯度算子,写作

\triangledown

▽ 函数式写作

g

r

a

d

(

x

)

grad(x)

grad(x),对于二维或者三维来说,就写作

g

r

a

d

(

x

,

y

,

z

)

grad(x, y, z)

grad(x,y,z)。你在教科书上能见到它的解析式表达形式,如果对于三维空间来说,就写作

g

r

a

d

(

x

,

y

,

z

)

=

f

=

f

x

i

+

f

y

j

+

f

z

k

grad(x, y, z)=\triangledown f = \frac{\partial f}{\partial x} i + \frac{\partial f}{\partial y}j + \frac{\partial f}{\partial z}k

grad(x,y,z)=▽f=∂x∂f​i+∂y∂f​j+∂z∂f​k

其中

i

i

i

j

j

j

k

k

k表示在x, y, z轴上的向量分量,如果不太清楚这个表达形式的同学,可能需要翻看一下自己高中数学关于向量分量描述的相关章节了。

因为这个公式是个偏微分的表达形式,例如对于X轴上,用差分形式进行表达,就是这样的:

f

x

=

f

(

x

+

Δ

x

o

,

y

,

z

)

f

(

x

,

y

,

z

)

Δ

x

o

\frac{\partial f}{\partial x} = \frac{f(x + \Delta x_o, y, z) - f(x, y, z)}{ \Delta x_o}

∂x∂f​=Δxo​f(x+Δxo​,y,z)−f(x,y,z)​

因此,分别对于Y轴,Z轴来说,就分别是这样的:

f

y

=

f

(

x

,

y

+

Δ

y

o

,

z

)

f

(

x

,

y

,

z

)

Δ

y

o

\frac{\partial f}{\partial y} = \frac{f(x, y + \Delta y_o, z) - f(x, y, z)}{ \Delta y_o}

∂y∂f​=Δyo​f(x,y+Δyo​,z)−f(x,y,z)​

f

z

=

f

(

x

,

y

,

z

+

Δ

z

o

)

f

(

x

,

y

,

z

)

Δ

z

o

\frac{\partial f}{\partial z} = \frac{f(x, y, z + \Delta z_o) - f(x, y, z)}{ \Delta z_o}

∂z∂f​=Δzo​f(x,y,z+Δzo​)−f(x,y,z)​

差分形式

而对于计算机来说,通常我们令

Δ

x

o

=

Δ

y

o

=

Δ

z

o

=

1

\Delta x_o = \Delta y_o = \Delta z_o = 1

Δxo​=Δyo​=Δzo​=1,然后常用的一种差分形式就可以表示如下:

f

x

f

(

x

+

1

,

y

,

z

)

f

(

x

,

y

,

z

)

\frac{\partial f}{\partial x} \approx f(x +1, y, z) - f(x, y, z)

∂x∂f​≈f(x+1,y,z)−f(x,y,z)

f

y

f

(

x

,

y

+

1

,

z

)

f

(

x

,

y

,

z

)

\frac{\partial f}{\partial y} \approx f(x, y +1, z) - f(x, y, z)

∂y∂f​≈f(x,y+1,z)−f(x,y,z)

f

z

f

(

x

,

y

,

z

+

1

)

f

(

x

,

y

,

z

)

\frac{\partial f}{\partial z} \approx f(x, y, z +1) - f(x, y, z)

∂z∂f​≈f(x,y,z+1)−f(x,y,z)

所以你也看出来了,所谓的梯度,用大白话讲,就是对于某一点它分别在X轴上、Y轴上以及Z轴上的斜率。

散度(divergence)

你会发现它跟梯度算子很相似,写作

F

\triangledown \cdot \vec{F}

▽⋅F

在很多书上它被简写成这样

F

\triangledown \cdot F

▽⋅F 区别在于多了一个点乘符号。

你或许会觉得梯度和散度长得很像,有区别吗?我个人理解其实区别并不大,因为散度的解析式也写成这样的形式:

d

i

v

(

F

)

=

F

=

F

x

x

+

F

y

y

+

F

z

z

div(F) = \triangledown \cdot F = \frac{\partial F_x}{\partial x} + \frac{\partial F_y}{\partial y} + \frac{\partial F_z}{\partial z}

div(F)=▽⋅F=∂x∂Fx​​+∂y∂Fy​​+∂z∂Fz​​

形式上两者是很相似的,尽管梯度写作:

g

r

a

d

(

x

,

y

,

z

)

=

f

=

f

x

i

+

f

y

j

+

f

z

k

grad(x, y, z)=\triangledown f = \frac{\partial f}{\partial x} i + \frac{\partial f}{\partial y}j + \frac{\partial f}{\partial z}k

grad(x,y,z)=▽f=∂x∂f​i+∂y∂f​j+∂z∂f​k

但可以把梯度里的

f

f

f 和向量分量做一个映射,变成一个新的向量后,就可以得到这样一个表达式:

F

(

x

,

y

,

z

)

=

x

i

+

y

j

+

z

k

\vec{F}(x,y,z)=x \vec i + y \vec j+z \vec k

F

(x,y,z)=xi

+yj

​+zk

于是梯度就能转换为散度的表达形式:

F

=

F

i

i

+

F

j

j

+

F

k

k

\triangledown \cdot \vec F = \frac{\partial F_i}{\partial i} + \frac{\partial F_j}{\partial j} + \frac{\partial F_k}{\partial k}

▽⋅F

=∂i∂Fi​​+∂j∂Fj​​+∂k∂Fk​​

所以,实际上我们关心的其实只有梯度算子

\triangledown

▽。

要说这两者最大表示区别,我觉得是在于这两者观察角度的不同。举例来说,梯度是在给定欧式空间坐标后,研究在这空间里类似山脊一侧某一点的坡度的斜率。

而散度,则是在流场中的某一点,放置一个探测器,计算该点的速度、密度、热量的变化率。

如果观察坐标系,可以发现对于梯度来说,其坐标系在外,观察点位于坐标系中任意一个点上。而散度,它的坐标系通常表示为它自身,即以观察点为中心,建立XYZ坐标系。

也就是说,如果你把梯度的观察点设置为欧式空间坐标的原点,那么此刻的梯度和散度就是一回事了。

拉普拉斯算子(Laplace Operator)

在介绍完梯度和散度后,现在来介绍拉普拉斯算子:它写作

\triangle

△ 或者

2

\triangledown^2

▽2 解析式写为:

2

=

2

x

2

+

2

y

2

+

2

z

2

\triangledown^2 = \frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2}+\frac{\partial^2}{\partial z^2}

▽2=∂x2∂2​+∂y2∂2​+∂z2∂2​

它表示梯度或者散度的变化率,即变化率的变化率。如果举一个经典的变化率的变化率,那无疑就是经典力学的加速度公式

v

t

=

v

o

+

a

t

v_t = v_o + at

vt​=vo​+at

使用拉普拉斯算子的重要物理意义,在于假设一个场分别在XYZ分量上的变化都是线性的,那么可以直接使用拉普拉斯算子,直接估测出距离测试点

P

o

P_o

Po​

(

Δ

X

,

Δ

Y

,

Δ

Z

)

(\Delta X, \Delta Y, \Delta Z)

(ΔX,ΔY,ΔZ)的某一点

P

t

P_t

Pt​ 上的物理值,例如速度、密度、热量等。估算方式可以简单到如同求解加速度一样。

那么它的差分形式的近似表达式又是什么呢,从1阶差分形式可以知道

f

(

x

)

=

f

(

x

+

1

)

f

(

x

)

\triangledown f(x) = f(x +1) - f(x)

▽f(x)=f(x+1)−f(x)

那么它的二阶形式就表示为:

2

f

(

X

)

=

f

(

X

+

1

)

f

(

X

)

\triangledown^2f(X) = \triangledown f(X+1) - \triangledown f(X)

▽2f(X)=▽f(X+1)−▽f(X)

代入一阶差分,于是就可以得到

2

f

(

x

)

=

f

(

x

+

2

)

2

f

(

x

+

1

)

+

f

(

x

)

\triangledown^2f(x) = f(x+2) - 2f(x+1) + f(x)

▽2f(x)=f(x+2)−2f(x+1)+f(x)

差分形式

所以,对于拉普拉斯算子,它的向前差分形式的各XYZ上的差分计算方法即为:

2

x

2

f

(

x

+

2

,

y

,

z

)

2

f

(

x

+

1

,

y

,

z

)

+

f

(

x

,

y

,

z

)

\frac{\partial^2}{\partial x^2} \approx f(x+2, y, z) - 2f(x+1, y, z) + f(x, y, z)

∂x2∂2​≈f(x+2,y,z)−2f(x+1,y,z)+f(x,y,z)

2

y

2

f

(

x

,

y

+

2

,

z

)

2

f

(

x

,

y

+

1

,

z

)

+

f

(

x

,

y

,

z

)

\frac{\partial^2}{\partial y^2} \approx f(x, y+2, z) - 2f(x, y+1, z) + f(x, y, z)

∂y2∂2​≈f(x,y+2,z)−2f(x,y+1,z)+f(x,y,z)

2

z

2

f

(

x

,

y

,

z

+

2

)

2

f

(

x

,

y

,

z

+

1

)

+

f

(

x

,

y

,

z

)

\frac{\partial^2}{\partial z^2} \approx f(x, y, z+2) - 2f(x, y, z+1) + f(x, y, z)

∂z2∂2​≈f(x,y,z+2)−2f(x,y,z+1)+f(x,y,z)

当然,在弄懂这个原理后,你可以自行推导出它的向后差分形式,或者中央差分形式的表达式,这里只做一个引子。

相关推荐

向钱贷放款时间全解析:贷款到账速度与影响因素详解
123656的网站怎么打开

向钱贷放款时间全解析:贷款到账速度与影响因素详解

⌛ 07-02 👁️ 7042
矞雪的解释及意思
365体育投注ribo88

矞雪的解释及意思

⌛ 06-30 👁️ 8167
人类学是什么?
365在线娱乐平台官网

人类学是什么?

⌛ 07-01 👁️ 3630