Heun方法

来自testwiki
跳转到导航 跳转到搜索

Template:Proofreader needed Template:Inappropriate tone Heun法(又稱改进的[1]或修改過的欧拉方法、顯式的梯形规则[2]数学计算机科学中求解給定初值常微分方程数值方法,以德國數學家Template:Le命名。可被视作把欧拉方法扩展为两级二阶龙格-库塔法

运用Heun法计算初值问题数值的解可分成以下步骤:

y(t)=f(t,y(t)),y(t0)=y0,

根據Heun法,先计算中间值y~i+1,然后計算在下一个積分点的最終近似值yi+1

y~i+1=yi+hf(ti,yi)
yi+1=yi+h2(f(ti,yi)+f(ti+1,y~i+1)).

简介

Heun法的圖示。

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

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

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

参考

Template:常微分方程数值方法