Heun方法

维基百科,自由的百科全书
跳转至: 导航搜索

在数学和计算机科学中,Heun法可参考改进的[1] 或修改的欧拉方法(即,明确的梯形规则[2]), 或类似的二阶的龙格-库塔法。它是以卡尔的名字命名的并且是通过的一个给定的初始值求解常微分方程的一种数值方法。这两个变体可以被看作是把欧拉方法分为两级二阶龙格-库塔法的扩展。

通过Heun法计算给定初始值的数值解问题的过程步骤:

y'(t) = f(t,y(t)), \qquad \qquad y(t_0)=y_0,

通过Heun法,是首先计算中间值\tilde{y}_{i+1} 然后逼近下一个集成点的值y_{i+1}.

\tilde{y}_{i+1} = y_i + h f(t_i,y_i)
y_{i+1} = y_i + \frac{h}{2}(f(t_i, y_i) + f(t_{i+1},\tilde{y}_{i+1})).

简介[编辑]

欧拉方法是Heun法的基础。欧拉方法使用区间前端点切线的函数来估计在此区间内函数的斜率,假设如果步长很小,误差就很小。然而,即使在步长非常小的情况下,由于大量步骤的积累误差使估计偏离实际函数的值。 如果解曲线是凹的,其切线将估小下一个预测点的纵坐标。理想的预测线将在它的下一个预测点位置达到曲线。在现实中,没有办法知道函数是凹向上还是向下凹的,因此,也不能确定下一个预测点会高估或低估其纵向价值。并且曲线不能保证一直保持一致的凹凸形状所以在解域的不同点预测可能高估和低估。 Heun法解决了这个问题,通过考虑跨越区间的直线段作为一个整体。以一个凹函数为例子,左线切线预测低估了该曲线的间隔斜率而如果使用右端点的切线则会高估间隔斜率(可以使用欧拉方法估计)[3] 沿左端点的切线点纵坐标都低估了解曲线包括区间的右端点。解决的办法就是使斜率大些。Heun法考虑到两端的解曲线的切线,其中一个低估一个高估了理想的纵坐标。预测线必须基于右端点切线斜率来单独构建(采用欧拉方法)。如果这个坡通过间隔的左端点,结果显然是太陡所以高估了理想点。因此,理想点位于大约高估和低估之间,即两个斜率的平均值。


参考[编辑]

  1. ^ Süli, Endre; Mayers, David, An Introduction to Numerical Analysis, Cambridge University Press, 2003, ISBN 0-521-00794-1 .
  2. ^ Ascher, Uri M.; Petzold, Linda R., Computer Methods for Ordinary Differential Equations and Differential-Algebraic Equations, Philadelphia: Society for Industrial and Applied Mathematics, 1998, ISBN 978-0-89871-412-8 .
  3. ^ Numerical Methods for Solving Differential Equations. San Joaquin Delta College. (原始内容存档于2009-02-12).