新浪博客

改进的欧拉公式

2009-01-01 14:45阅读:

欧拉(Euler)方法是解初值问题的最简单的数值方法。初值问题 的解y=y(x)代表通过点的一条称之为微分方程的积分曲线。积分曲线上每一点的切线的斜率等于函数在这点的值。
显式欧拉公式计算工作量小,但精度低。梯形公式虽提高了精度,但为隐式公式,需用迭代法求解,计算工作量大。综合欧拉公式和梯形公式便可得到改进的欧拉公式。
先用欧拉公式(8.2)求出一个初步的近似值,称为预测值,
它的精度不高, 再用梯形公式(8.5)对它校正一次,即迭代一次,求得yi+1,称为校正值,
这种预测-校正方法称为改进的欧拉公式:
yp=yi+hf(xi+yi);
yc=yi+hf(xi+h,yp);
yi+1=1/2(yp+yc);
上述两组公式在形式上有一个共同点:都是用f(x,y)在某些点上值的线性组合得出y(xi+1)的近似值yi+1,而且增加计算f(x,y)的次数,可提高截断误差的阶。如欧拉公式:每步计算一次f(x,y)的值,为一阶方法。改进欧拉公式需计算两次f(x,y)的值,它是二阶方法。
于是可考虑用函数f(x,y)在若干点上的函数值的线性组合来构造近似公式,构造时要求近似公式在(xi,yi)处的Taylor展开式与解y
(x)xi处的Taylor展开式的前面几项重合,从而使近似公式达到所需要的阶数。既避免求偏导,又提高了计算方法精度的阶数。或者说, 这一步内多预报几个点的斜率值,然后将其加权平均作为平均斜率,则可构造出更高精度的计算格式,这就是龙格库塔(Runge-Kutta)法的基本思想。

我的更多文章

下载客户端阅读体验更佳

APP专享