Heun方法

在数学和计算机科学中，Heun法亦被稱為改进的或修改過的欧拉方法（即，顯式的梯形规则），或类似的二阶的龙格－库塔法。它是以德國數學家的名字命名的，是求解給定初值常微分方程的数值方法。这两个变体可以被看作是把欧拉方法扩展为两级二阶龙格－库塔法。

通过Heun法计算初值问题数值解的过程步骤：

 
根據Heun法，首先计算中间值，然后計算在下一个積分点的最終近似值。

简介

欧拉方法是Heun法的基础。欧拉方法利用区间開端端点的函數切线，来估计函数在此区间内的斜率，並假设著如果步长很小，误差就很小。然而，即使在步长非常小的情况下，由于大量步骤的积累误差使估计偏离实际函数的值。

如果解曲线是凹向上的，其切线将估小下一个预测点的纵坐标。理想的预测线應該在它的下一个预测点剛好與曲線相交。而實際上，没有办法知道函数是凹向上还是向下凹的，因此，也不能确定下一个预测点会高估或低估其纵向值。而且也不能保证曲线一直保持一致的凹凸性，所以在解域的不同点预测可能分別有高估和低估的情況。

Heun法處理这个问题的方式，是通过考虑切线段所跨越的整個区间。以一个上凹函数为例子，以區間左端點所作的切线预测低估了该曲线在整個區間上的斜率，而如果使用右端点的切线则会高估曲线在整個區間上的斜率（可以使用欧拉方法估计）。
由左端点出發的切线点，其纵坐标都低於相應的在解曲线上的點，包括区间的右端点。解决的办法就是使斜率某程度變大些。Heun法考虑到解曲线在兩端的切线，其中一个低估而另外一个高估了理想的纵坐标。预测线必须基于右端点切线斜率来单独构建（采用欧拉方法估計）。如果这个坡通过區間的左端点，结果显然是太陡，高估了理想点。因此，理想点位于大约高估和低估之间，即两个斜率的平均值。

参考

数值微分方程