Runge-Kutta 计算后的中间值(插值)

计算科学 插值 龙格库塔
2021-12-03 13:10:01

我有一个数值 ODE 模拟,我使用 4 阶 Runge-Kutta 方法 (计算,产生一系列结果hRK4(x1,y1),(x2,y2),(x3,y3)(xN,yN)

如果我想在间隔之间的位置处找到近似解yx

  1. 线性插值(开个玩笑,我不会用这个)
  2. 三次样条(当前解决方案,我的错误估计是什么?)
  3. 的新RK4步骤(错误仍然是吗?)h=xxiO(h4)
  4. 其他一些合适的方法

内插 Runge-Kutta 结果的推荐方法是什么?它们的错误顺序是什么?

2个回答

您正在询问如何从 Runge-Kutta 方法产生密集输出。有很多方法可以做到这一点(参见例如Hairer/Nørsett/Wanner)。如该参考文献中所述,如果除了已经通过四阶 Runge-Kutta 方法完成的函数评估之外,您不想进行更多的函数评估,那么您最好的希望是三阶插值。这很好,因为它还可以证明,对于阶 Runge-Kutta 方法,您可以得到阶的密集输出。pp1

您可以构造的最简单的三阶密集输出当然是三次 Hermite 插值。回想一下,给定两个函数值和两个导数值,您总是可以构建一个唯一的三次:Hermite 插值。因此,您可以保证使用插值函数。C1

RK4 方法使用每个区间中隐式构造一个 3 次多项式插值。f(xi)f(xi+1)f(xi)f(xi+1)

使用每个区间中移位的Hermite 基函数的线性组合,可以相当容易且有效地构造此插值。