求解初值问题的数值方法都是“步进式”的,即求解过程从初值y0开始,顺着节点的排列次序,一步一步地向前推进.所以,在计算yi+1时,前面的i+1个值y0,y1,,yi都是已知的.如果在计算yi+1时能充分利用这些已有的信息,而不是像单步法中那样,只用其前一步的值yi,则可望构造出精度高,但计算量小的求解公式.线性多步法就是基于这一思想发展起来的,其计算公式可表示为krrirkrririyhyy101),(jjjjyxffy其中•.•一、Adams外插法线性多步法的实质是用若干节点处的函数值及导数值的线性组合来逼近y(xi+1)的值.由于在计算yi+1时需要用到其前k+1个值:yi,yi−1,yi−2,,yi−k,故多步法又称为k+1步法当−1=0时,此k+1步法是显式的当−10时,此k+1步法是隐式的原则上,一切多步法都可用Taylor级数展开的方法来导出(即确定其中的系数j,j),但有些多步法也可用数值积分法来构造.下面讨论实际中较为常用的几种线性多步法(1)公式的推导对方程y’=f(x,y)的两边从xi到xi+1积分,得11))(,()()(ixixiidxxyxfxyxy为了近似计算式中的积分,以xi−k,xi−k+1,,xi−1,xi为插值节点,作函数f(x,y(x))的k次插值多项式pk(x),从而有f(x,y(x))=pk(x)+R(x),其中,R(x)为插值余项111)()()()(ixixixixkiidxxRdxxpxyxy一、Adams外插法外插公式略去积分余项R(x)dx,并用yi代替y(xi),可得到计算公式11)()()(ixixkiidxxpxyxy注意,这里的与pk(x)不同,它是将插值多项式pk(x)中用到的函数值f(xi,y(xi))均以近似值fi=f(xi,yi)代替后所得到的表达式.)(xpk由于积分是在区间[xi,xi+1]上进行的,而的插值区间却为[xi−k,xi],即插值点x[xi,xi+1],位于插值区间之外,故称(53)式为外插公式)(xpk考虑到插值点x靠近区间[xi−k,xi]的最后一个节点xi,采用Newton向后插值公式,于是有ikikykktttyttytyxp!)1()1(!2)1(!1)(2ijkjjyjt0)1(其中,而▽为向后差分算子,即hxxti1iiiyyy所以1001)1(dtyjtyykjijjiikjijjiybhy0称为Adams外插公式(亦有称Adams-Bashforth公式).不难看出,这是一类k+1步显式方法.10)1(dtjtbjj容易计算出bjj012345bj11/25/123/825/72095/288(2)Adams外插公式的局部截断误差注意到,若假定yi−j=y(xi−j),j=0,1,,k精确成立,则有.因此,Adams外插公式的局部截断误差为)()(xpxpkk11)(ixixidxxRe10)1(21)1())(,()1(dtktyfhiikkk)()2(21ikkkfhb1011)1()1(dtktbkk其中Adams外插公式是一类k+1步k+1阶的显式方法.几个常用的Adams外插公式如下①单步法(k=0)iiiyhyy11,,1,0Ni)(2121iiyhe②二步法(k=1))3(211iiiiyyhyy1,,1,0Ni)(125)3(31iiyhe③三步法(k=2))151623(12211iiiiiyyyhyy1,,1,0Ni)(83)4(41iiyhe④四步法(k=3))9375955(243211iiiiiiyyyyhyy1,,1,0Ni)(720251)5(51iiyhe现在以k+2个节点x−k,xi−k+1,,xi,xi+1作为插值节点,作函数f(x,y(x))的k+1次插值多项式pk+1(x),从而有)()())(,(1xRxpxyxfk1111)()(ixixixixkiidxxRdxxpyy其中R(x)为插值余项去掉上式中的积分余项,得111)(ixixkiidxxpyy二、Adams内插法(1)公式的推导同样,采用Newton向后插值公式,并重复Adams外插公式的推导过程,可得1011kjijjiiydhyy其中10)()1(dtjtdjjdj的前几个值j012345dj1-1/2-1/12-1/24-19/720-3/160由于插值点x现在是落在积分区间[xi,xi+1]之内,所以称为Adams内插公式(Adams-Moutton公式).这是一类k+1步隐式方法(2)局部截断误差11)(ixixidxxRe10)2(32)2())(,()1(dtktyfhiikkk)()3(32ikkkfhd其中1022)2()1(dtktdkk而i是介于xi−k与xi+1之间的某个值.所以,Adams内插公式是一类k+1步k+2阶的隐式方法.几个常用的Adams内插值公式①单步法(k=0))(211iiiiyyhyy1,,1,0Ni)(121)3(31iiyhe②二步法(k=1))(241)4(41iiyhe③三步法(k=2))(72019)5(51iiyhe)5199(242111iiiiiiyyyyhyy1,,3,2Ni)85(12111iiiiiyyyhyy1,,1Ni优点步数相同的Adams内插公式比外插公式在精度上要高一阶,而阶数相同的内插公式的截断误差也比外插值公式的截断误差小许多缺点内插法是隐式的,求解用迭代法,因而计算量较大对初值问题1)0(102yxyxy分别用四步四阶Adams外插法和三步四阶Adams内插法求解取步长h=0.1,即N=10例1解)9375955(243211iiiiiiyyyyhyy将f(x,y)=2x+y,h=0.1,xi=0.1i代入,得)24.048.09.07.39.55.29(2413211iyyyyyiiiii9,,4,3i),(59),(55(2411iiiiiyxfyxfhy)),(9),(373322iiiiyxfyxf1,,3Ni四步四阶Adams外插法的公式为三步四阶Adams内插法的公式为),(19),(9(24111iiiiiiyxfyxfhyy)),(),(52211iiiiyxfyxf1,,2Ni将f(x,y)=2x+y,h=0.1,xi=0.1i代入,得)24.048.02.05.09.259.0(2412111iyyyyyiiiii9,,4,2i本例可以解出yi+1使其成为显式)24.048.01.05.09.25(1.231211iyyyyiiii9,,4,2i本例的精确解为y(x)=3ex−2x−2.利用此精确解求出y1=y(x1),y2=y(x2),y3=y(x3),并用y0,y1,y2,y3作为上述外插公式的起步值,计算结果见表从表可以看到,Adams内插法比同阶的外插法精确.nnTaylorxTaylor)xTaylor,iin+1利用展开导出的基本方法是:将线性多步公式在处进行展开,然后与y(x在处的展开式相比较,要求它们前面的项重合,由此确定参数。1011110111()()nnnnnnryxyyyhfff以为例:设初值问题的解充分光滑,待定的两步公式为()()''()'21()(1,2,),()()()()()2!(())kknnnppnnnnnnnpnyyxkyxxTayloryyyxyyxxxxxxpOxx记则在处的展开为三、Taylor级数法'''''''231(4)(5)45(6)''''1111(),()(,)(),()2!3!()4!5!(,)()iiiiinnnnnnnnnnnnnnnyyxyxfxyinyyyyxhyyhhhyyhhOhffxyyxyyh假设前步计算结果都是准确的,即则有'''2(4)(5)34(5)''''''''21111(4)(32!()3!4!(,)(,)()2!3!nnnnnnnnnnnnnnnnyhyyhhOhffxyyyffxyyxyyhhyyh5)4(5)()4!hOh'''21101110111'''3(4)4111111(5)56111()()()2()()6222466()()1202424nnnnnnnyyyhyhyhyhyhOh将以上各公式代入并整理,得1''(5)'2561()()()2!5!p+1nnnnnnnpyxxTayloryyyxyyhhhOh为使上式有阶精度,只须使其与在处的展开式的前项重合。010101111111111111122111162261111246624aaaaaa5,5,1iiP个参数只须个条件。由推导知,如果选取参数,使其满足前个方程(p=1,2,3,4),则近似公式为p阶公式。11011111,0,,02()2nnnnhyyff0如满足方程组前三个方程,故公式此为二阶公式。0111011115(5)61140,1,,33(4)31()90nnnnnnnhyyfffRhyOh又如:解上面方程组得相应的线性二步四阶公式(Simpson公式)为其截断误差为由此可知,线性二步公式至多是四阶公式。