在python中Runge-Kutta 3(RK3)方法的最终值的系数是多少

时间:2015-02-05 16:13:50

标签: python time runge-kutta

很抱歉,如果我的问题措辞严重,也许如果有人能提出更好的措辞,我会相应改变。

所以,就RK4而言,用x_old作为时间t的初始x值进行时间步,我们得到了;

x_new = x_old + (1.0/6) * dt * (k1 + 2*k2 + 2*k3 + k4)

解决RK3的等式是什么样的?即在这种情况下,系数的值对于k1,k2和k3是多少?

我无法在网上找到任何RK3的例子,很抱歉我不得不问这个问题......

谢谢!

1 个答案:

答案 0 :(得分:2)

三阶方法的全步方程是(在伪代码中)

y[i+1] = y[i] + 1.0/6.0 * ( k1 + 4.0*k2 + k3 )

k1 = h * f(x[i], y[i])
k2 = h * f(x[i] + h / 2, y[i] + k1 / 2 )
k3 = h * f(x[i] + h, y[i] - k1 + 2 * k2 )