龙格-库塔法(Runge-Kutta methods)

非线性的常微分方程通常是难以求出解析解的,只能通过多次迭代求近似的数值解。

龙格-库塔法(Runge-Kutta methods)是用于非线性常微分方程的解的重要的一类隐式或显式迭代法。简写做RK法。

对于任意的Y=f(X),假设某点(Xi,Yi)的斜率为ki,如果有无限小的dX,则有Yi+1=Yi+ki*dx。

dx就是迭代步长,然而在现实中它不可能是无限小的,我们一般写作h。将它与上式中的dx替换就是一阶RK法。显然他是不够精确的。

一般我们采用4阶RK法,其形式如下:

  • k1是时间段开始时的斜率;

  • k2是时间段中点的斜率,通过欧拉法采用斜率k1来决定y在点tn+h/2的值;

  • k3也是中点的斜率,但是这次采用斜率k2决定y值;

  • k4是时间段终点的斜率,其y值用k3决定。

 通过4阶RK法的迭代可以得到较为精确的数值解。

猜你喜欢

转载自blog.csdn.net/qq_43533956/article/details/128042179