有限差分法

2025 年 3 月 4 日 | 阅读 6 分钟

引言

有限差分法 (FDM) 是用于计算的定量方法中最强大的技术之一,旨在估计微分方程的解。微分方程出现在科学和工程的许多定量应用中,作为数量随时间和空间变化的模型的描述。然而,这些方程在解析上可能非常难以解决,甚至实际上不可能解决,特别是对于几个相互关联的子系统。这就是 FDM 发挥作用的地方,它是一种已被描述为该问题成功解决方案的工作方法。

FDM 通过简单的差分来替换足够的导数,这些差分近似了变量在离散点处的变化率。该技术采用分析问题域中的一组点以及数学近似(如前向、后向或中心差分)来近似样本点的导数值。例行的计算技术可以求解得到的代数方程组,该解提供了微分方程的近似解。

重点部署方法论的意义和用途

  • 工程应用:在结构工程领域,FDM 是评估结构应力或应变变化的必备工具。同样,它在热工程中也至关重要,因为它有助于团队预测固体中的热传导,从而工程师能够开发高效的冷却和加热系统。
  • 物理学FDM 在物理科学中发挥着至关重要的作用,用于模拟由偏微分方程表示的系统,例如声学中的波动运动、热分布和电磁场。
  • 金融与经济学:在金融领域,FDM 被应用于期权定价模型,例如 Black-Scholes 方程,其中偏微分方程的解用于选择期权和其他衍生品的定价。通过 FDM,分析师可以预测金融工具在不同情况下的表现,从而帮助管理风险。
  • 环境与地球科学:鉴于环境系统(如地下水流和污染物输运)面临的问题,FDM 非常有益。它还用于地震学进行波分析,并模拟地震信号的传播,以预测和评估它们对结构的风险。

有限差分近似的类型

有限差分近似是通过函数在离散位置的值来近似给定点处函数导数的技术。这些近似在有限差分法 (FDM) 中起着重要作用,因为可以对微分方程进行数值求解。三个主要类别包括前向差分近似、后向差分近似和中心差分近似。每种都有其数学方程、它们可以解决的问题领域和类型以及它们不能解决的问题类型。

1. 前向差分近似

前向差分近似被认为是通过向前查看一个增量步长 h 处的函数值来近似特定点 x 处函数导数的最佳方法。当未来值已知或影响方差的条件已知时,它很有用。

  • 数学表达式和推导:函数 f(x) 的一阶导数的前向差分近似定义为
Finite Difference Method

其中 h 是一个小的正步长。

推导:前向差分公式使用泰勒级数展开来推导

f (x + h) = f(x) + h f'(x) + h2/2f''(x) + ...

通过重新排列并忽略高阶项,我们得到

Finite Difference Method

最后一项是此近似的误差,可以看出此近似是一阶的,因为误差与 h 成正比。

  • 应用:前向差分基于下一步的函数值,用于那些下一步的函数值已知或可以计算的问题;例如,在热传导和流体动力学中应用显式时间步长方案时出现的问题。
  • 局限性:像大多数单边差分方案一样,前向差分法随着 h 的增大而精度降低,并且比大多数中心差分方案精度低。对于某些类型的微分方程,特别是当用于求解刚性问题时,它也不够精确。

2. 后向差分近似

后向差分近似还涉及估计 x 点处的导数,同时考虑低于 x 的小步长,用 h 表示。当已知 delta 的值或后向计算更准确时,这种方法很有用。

  • 数学表达式和推导:我们将函数 f(x) 的一阶导数的后向差分近似定义为
Finite Difference Method

其中 h 是一个小的正步长。

推导:使用以 x - h 为中心的泰勒级数展开

f (x - h) = f(x) - h f'(x) + h2/2 f''(x) - ....

重新排列项并忽略高阶项,我们得到

Finite Difference Method

与前向差分类似,后向差分也是一阶方法,误差为 O(h)。

  • 应用:后向差分广泛用于 Gardner 的一阶隐式时间步长方案,以及稳定性至关重要的方程,例如刚性常微分方程。它也用于基于历史数据的模拟,例如某些类型的金融模型。
  • 优点:在求解刚性方程的时间相关情况下,后向差分比前向差分更稳定,因为它仅激活先前的值,在许多情况下表现出更好的数值稳定性。

3. 中心差分近似

一阶导数的中心差分近似是通过使用“x”点处前向差分和后向差分的平均值来计算的。它比较了对称于 x 的两个点处函数值的差值,并在某种程度上减少了误差项。

  • 数学表达式和推导:因此,对于任何函数 f(x),f'(x) 的一阶中心差分近似为
Finite Difference Method

其中 h 是一个小步长。

推导:为了推导中心差分公式,我们使用 x + h 和 x - h 处的泰勒级数展开

f (x + h) = f(x) + h f'(x) + h2/2 f''(x) + ....
f (x - h) = f(x) - h f'(x) + h2/2 f''(x) - ....

通过减去这两个表达式,我们得到

f(x+h)-f(x-h)=2hf^' (x)+ ...

除以 2h 并忽略高阶项得到

Finite Difference Method

这个中心差分近似是一个二阶近似,因为误差项与 h2 成正比,因此比前向或后向差分更精确。

  • 应用:中心差分最常用于偏微分方程的空间离散化,包括拉普拉斯和泊松方程,因为对于平滑连续的解而言,高阶精度是可取的。
  • 优点:由于误差是二阶的,中心差分法在大多数情况下始终比前向和后向差分法更精确,尽管这在较小的步长下尤其明显。中心差分是对称的,这有助于误差最小化,因此在高精度问题中有用。

FDM 中的离散化技术

1. 网格生成与选择

  • 网格或网格是连续体空间或时间平面中的一组点,将在其上近似微分方程。网格的选择会影响解的准确性和收敛时间以及最终解。
  • 获得 FDM 结果所需的另一个关键因素是对问题的适当网格划分。网格布局、网格密度和分布的选择会影响微分算子的近似程度,尤其是在解的梯度处。

2. 空间离散化

  • 空间离散化涉及使用有限差分在空间域的网格点处近似微分方程中的空间导数。
  • 前向差分近似:用于估计点处的导数,它涉及当前时刻的值与下一个整数值之间的差值。
  • 后向差分近似:与 E18 相同。使用前一个点的值进行近似,该值可用于反向计算,在这种情况下也意味着向后。
  • 中心差分近似:作为前向差分和后向差分之间的中点,它为二阶近似提供了更高的精度。

3. 时间离散化

  • 时间分量的离散化包括近似关于时间的导数,并将微分方程的连续时间元素转换为一组离散值。
  • 显式时间步长方法:这些可以归类为前向欧拉法和龙格-库塔法等。在这些方法中,下一个时间步长的解仅基于当前步已知的信息。
  • 隐式时间步长方法:这些方法的粗略版本包括后向欧拉法或 Crank-Nicolson 法,这意味着求解一个通常迭代地包含未来时间步项的方程。

下一主题有限元分析