差分是数值分析中的概念,用于近似连续函数的导数。差分可以通过多种方式定义,一阶差分常见的有前向差分、后向差分和中心差分,二阶差分常用的是中心差分法。
一阶差分
1. 前向差分 (Forward Difference)
对于一个函数
f
(
x
)
f(x)
f(x),在点
x
x
x 处的一阶前向差分可以表示为:
f
′
(
x
)
≈
f
(
x
+
h
)
−
f
(
x
)
h
f'(x) \approx \frac{f(x + h) - f(x)}{h}
f′(x)≈hf(x+h)−f(x)
其中,
h
h
h 是一个小的正数,表示步长。
前向差分是最简单的差分形式,它使用当前点和下一个点之间的差值来近似导数。
2. 后向差分 (Backward Difference)
后向差分与前向差分类似,但它使用当前点和前一个点之间的差值来近似导数:
f ′ ( x ) ≈ f ( x ) − f ( x − h ) h f'(x) \approx \frac{f(x) - f(x - h)}{h} f′(x)≈hf(x)−f(x−h)
3. 中心差分 (Central Difference)
中心差分通常提供更高的精度,因为它使用当前点两侧的点来近似导数:
f ′ ( x ) ≈ f ( x + h ) − f ( x − h ) 2 h f'(x) \approx \frac{f(x + h) - f(x - h)}{2h} f′(x)≈2hf(x+h)−f(x−h)
4. 二阶中心差分 (Second-Order Central Difference)
为了进一步提高精度,可以使用二阶中心差分公式:
f ′ ( x ) ≈ − 1 2 f ( x + 2 h ) + 2 f ( x + h ) − 2 f ( x − h ) + 1 2 f ( x − 2 h ) 2 h f'(x) \approx \frac{-\frac{1}{2} f(x + 2h) + 2f(x + h) - 2f(x - h) + \frac{1}{2} f(x - 2h)}{2h} f′(x)≈2h−21f(x+2h)+2f(x+h)−2f(x−h)+21f(x−2h)
5. 五点公式 (Five-Point Formula)
五点公式是一种更高精度的中心差分方法,使用五个点来近似导数:
f ′ ( x ) ≈ − f ( x + 2 h ) + 8 f ( x + h ) − 8 f ( x − h ) + f ( x − 2 h ) 12 h f'(x) \approx \frac{-f(x + 2h) + 8f(x + h) - 8f(x - h) + f(x - 2h)}{12h} f′(x)≈12h−f(x+2h)+8f(x+h)−8f(x−h)+f(x−2h)
二阶差分
1. 中心差分法 (Central Difference)
对于一个函数 f ( x ) f(x) f(x),在点 x x x 处的二阶中心差分可以表示为:
f ′ ′ ( x ) ≈ f ( x + h ) − 2 f ( x ) + f ( x − h ) h 2 f''(x) \approx \frac{f(x + h) - 2f(x) + f(x - h)}{h^2} f′′(x)≈h2f(x+h)−2f(x)+f(x−h)
其中, h h h 是一个小的正数,表示步长。
2. 前向差分法 (Forward Difference)
前向差分法在某些情况下也可以用来近似二阶导数,虽然它的精度通常不如中心差分法:
f ′ ′ ( x ) ≈ f ( x + 2 h ) − 2 f ( x + h ) + f ( x ) h 2 f''(x) \approx \frac{f(x + 2h) - 2f(x + h) + f(x)}{h^2} f′′(x)≈h2f(x+2h)−2f(x+h)+f(x)
3. 后向差分法 (Backward Difference)
后向差分法与前向差分法类似,也可以用来近似二阶导数:
f ′ ′ ( x ) ≈ f ( x ) − 2 f ( x − h ) + f ( x − 2 h ) h 2 f''(x) \approx \frac{f(x) - 2f(x - h) + f(x - 2h)}{h^2} f′′(x)≈h2f(x)−2f(x−h)+f(x−2h)
4. 五点公式 (Five-Point Formula)
为了提高精度,可以使用五点公式来近似二阶导数:
f
′
′
(
x
)
≈
−
f
(
x
+
2
h
)
+
16
f
(
x
+
h
)
−
30
f
(
x
)
+
16
f
(
x
−
h
)
−
f
(
x
−
2
h
)
12
h
2
f''(x) \approx \frac{-f(x + 2h) + 16f(x + h) - 30f(x) + 16f(x - h) - f(x - 2h)}{12h^2}
f′′(x)≈12h2−f(x+2h)+16f(x+h)−30f(x)+16f(x−h)−f(x−2h)
推导过程