向量分析与应用
一、引言:向量分析基础
- 向量场:一个向量场是将每个点与一个向量相关联的数学对象。常见的例子包括风速场、电场和磁场。
- 标量场与向量场:标量场是与每个点关联一个标量值(如温度、压力),而向量场则与每个点关联一个向量值(如速度、电场强度等)。
二、方向导数、梯度与散度
1. 方向导数(Directional Derivative)
- 定义:方向导数描述了一个标量场沿某一方向的变化率。
- 对于标量场
f
(
x
,
y
,
z
)
f(x, y, z)
f(x,y,z) 和单位向量
u
=
(
u
x
,
u
y
,
u
z
)
\mathbf{u} = (u_x, u_y, u_z)
u=(ux,uy,uz),方向导数为:
D u f = ∇ f ⋅ u D_{\mathbf{u}} f = \nabla f \cdot \mathbf{u} Duf=∇f⋅u
其中, ∇ f \nabla f ∇f 是梯度向量。
2. 梯度(Gradient)
- 定义:梯度是一个向量,指示函数在某一点沿着各坐标轴最快增长的方向。对于标量场
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)
3. 散度(Divergence)
- 定义:散度是一个标量,表示向量场在某一点的源或汇的强度。对于向量场
F
=
(
F
x
,
F
y
,
F
z
)
\mathbf{F} = (F_x, F_y, F_z)
F=(Fx,Fy,Fz),散度定义为:
∇ ⋅ F = ∂ F x ∂ x + ∂ F y ∂ y + ∂ F z ∂ z \nabla \cdot \mathbf{F} = \frac{\partial F_x}{\partial x} + \frac{\partial F_y}{\partial y} + \frac{\partial F_z}{\partial z} ∇⋅F=∂x∂Fx+∂y∂Fy+∂z∂Fz
散度可以用来描述流体的源或汇。
4. 实例:计算方向导数、梯度与散度
案例:
给定标量场
f
(
x
,
y
)
=
x
2
+
y
2
f(x, y) = x^2 + y^2
f(x,y)=x2+y2,计算在点
(
1
,
1
)
(1, 1)
(1,1) 处的梯度和方向导数。
-
梯度计算:
∇ f = ( 2 x , 2 y ) \nabla f = (2x, 2y) ∇f=(2x,2y)
在点 ( 1 , 1 ) (1, 1) (1,1) 处,梯度为 ∇ f ( 1 , 1 ) = ( 2 , 2 ) \nabla f(1, 1) = (2, 2) ∇f(1,1)=(2,2)。 -
方向导数:沿着单位向量 u = ( 1 / 2 , 1 / 2 ) \mathbf{u} = (1/\sqrt{2}, 1/\sqrt{2}) u=(1/2,1/2) 求方向导数:
D u f ( 1 , 1 ) = ∇ f ( 1 , 1 ) ⋅ u = ( 2 , 2 ) ⋅ ( 1 2 , 1 2 ) = 2 2 D_{\mathbf{u}} f(1, 1) = \nabla f(1, 1) \cdot \mathbf{u} = (2, 2) \cdot \left( \frac{1}{\sqrt{2}}, \frac{1}{\sqrt{2}} \right) = 2\sqrt{2} Duf(1,1)=∇f(1,1)⋅u=(2,2)⋅(21,21)=22
三、格林定理、斯托克斯定理与高斯定理
1. 格林定理(Green’s Theorem)
- 定义:格林定理将平面区域的二重积分转化为曲线积分。公式为:
∮ ∂ D P d x + Q d y = ∬ D ( ∂ Q ∂ x − ∂ P ∂ y ) d x d y \oint_{\partial D} P \, dx + Q \, dy = \iint_{D} \left( \frac{\partial Q}{\partial x} - \frac{\partial P}{\partial y} \right) \, dx \, dy ∮∂DPdx+Qdy=∬D(∂x∂Q−∂y∂P)dxdy
其中, P P P 和 Q Q Q 是平面区域 D D D 上的向量场分量, ∂ D \partial D ∂D 是区域 D D D 的边界。
2. 斯托克斯定理(Stokes’ Theorem)
- 定义:斯托克斯定理将曲面上的旋度积分转化为曲线上的环量积分。公式为:
∮ ∂ S F ⋅ d r = ∬ S ( ∇ × F ) ⋅ d S \oint_{\partial S} \mathbf{F} \cdot d\mathbf{r} = \iint_{S} (\nabla \times \mathbf{F}) \cdot d\mathbf{S} ∮∂SF⋅dr=∬S(∇×F)⋅dS
其中, F \mathbf{F} F 是向量场, ∂ S \partial S ∂S 是曲面 S S S 的边界。
3. 高斯定理(Gauss’ Theorem)
- 定义:高斯定理将三维空间中的体积分转化为表面积分。公式为:
∮ ∂ V F ⋅ d S = ∭ V ( ∇ ⋅ F ) d V \oint_{\partial V} \mathbf{F} \cdot d\mathbf{S} = \iiint_{V} (\nabla \cdot \mathbf{F}) \, dV ∮∂VF⋅dS=∭V(∇⋅F)dV
其中, F \mathbf{F} F 是向量场, ∂ V \partial V ∂V 是体积 V V V 的边界。
四、课堂活动:
1. 通过实例应用格林定理计算区域内的积分
案例:
计算函数
f
(
x
,
y
)
=
x
+
y
f(x, y) = x + y
f(x,y)=x+y 在区域
D
D
D 上的二重积分,其中
D
D
D 是单位圆
x
2
+
y
2
≤
1
x^2 + y^2 \leq 1
x2+y2≤1 的内部。
使用格林定理将该二重积分转化为曲线积分:
∮
∂
D
P
d
x
+
Q
d
y
=
∬
D
(
∂
Q
∂
x
−
∂
P
∂
y
)
d
x
d
y
\oint_{\partial D} P \, dx + Q \, dy = \iint_{D} \left( \frac{\partial Q}{\partial x} - \frac{\partial P}{\partial y} \right) \, dx \, dy
∮∂DPdx+Qdy=∬D(∂x∂Q−∂y∂P)dxdy
设
P
=
0
,
Q
=
x
+
y
P = 0, Q = x + y
P=0,Q=x+y,计算得到曲线积分。
2. 演示斯托克斯定理在流体动力学中的应用
案例:
考虑一个旋转的流体,描述其速度场为
F
=
(
−
y
,
x
)
\mathbf{F} = (-y, x)
F=(−y,x)。使用斯托克斯定理计算沿单位圆的环量:
∮
∂
S
F
⋅
d
r
=
∬
S
(
∇
×
F
)
⋅
d
S
\oint_{\partial S} \mathbf{F} \cdot d\mathbf{r} = \iint_{S} (\nabla \times \mathbf{F}) \cdot d\mathbf{S}
∮∂SF⋅dr=∬S(∇×F)⋅dS
计算得
∇
×
F
=
(
0
,
0
,
2
)
\nabla \times \mathbf{F} = (0, 0, 2)
∇×F=(0,0,2),然后通过斯托克斯定理计算出环量。
五、Python代码实现示例
计算梯度、方向导数与散度:
import sympy as sp
# 定义变量和函数
x, y = sp.symbols('x y')
f = x**2 + y**2
F = sp.Matrix([x, y])
# 计算梯度
grad_f = sp.Matrix([sp.diff(f, var) for var in (x, y)])
# 计算方向导数
u = sp.Matrix([1/sp.sqrt(2), 1/sp.sqrt(2)]) # 单位向量
directional_derivative = grad_f.dot(u)
# 计算散度
div_F = sp.diff(F[0], x) + sp.diff(F[1], y)
print(f"梯度: {grad_f}")
print(f"方向导数: {directional_derivative}")
print(f"散度: {div_F}")
应用格林定理:
import numpy as np
import scipy.integrate as integrate
# 定义被积函数
def integrand(x, y):
return x + y
# 计算单位圆内的二重积分
result, error = integrate.dblquad(integrand, -1, 1, lambda x: -np.sqrt(1-x**2), lambda x: np.sqrt(1-x**2))
print(f"二重积分结果: {result}")
斯托克斯定理示例:
# 使用Stokes定理计算旋转流体的环量
from sympy.vector import curl, CoordSys3D
N = CoordSys3D('N')
F = -y*N.i + x*N.j # 速度场 F = (-y, x)
curl_F = curl(F, N)
print(f"旋度: {curl_F}")
总结
通过本课程,将学习并理解向量分析中的重要概念,如方向导数、梯度、散度、格林定理、斯托克斯定理和高斯定理等。