您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 数值分析(26)线性多步法
数值分析数值分析11-k1R-K,,nnnnnnyyyyyy-单步法在计算时,只用到前一步的信息。为提高精度,需重新计算多个点处的函数值,如方法,计算量较大。如何通过较多地利用前面的已知信息,如,,来构造高精度的算法计算,这就是多步法的基本思想。第三节线性多步法数值分析数值分析001002200,(,)00Tay(,)0lorkkjnjjnjnjjjkknkjnjjnjjkkjnjjjkyhfxyyyhfxy多步法中最常用的是线性多步法,它的一般形式为其中均为常数.0式中,上式也可表示为若称为多步法。时,为显式多步法时,为隐若=;。构造线性多步公式常式多步用法展开和数值积分方法。数值分析数值分析一、线性多步公式的导出nnTaylorxTaylor)xTaylor,iin+1利用展开导出的基本方法是:将线性多步公式在处进行展开,然后与y(x在处的展开式相比较,要求它们前面的项重合,由此确定参数。101111011()()nnnnnnyxyyyhfff设初值问题的解充分光滑,待定的两步公式为数值分析数值分析()()'''2()1()(1,2,),()()()()2()(())!kknnnnnnnnpppnnnyyxkyxxTayloryyxyyxxxxyxxOxxp记则在处的展开为'(),()(,)(),iiiiinyyxyxfxyin假设前步计算结果都是准确的,即则有数值分析数值分析'''21'''(4)(5)345(6)'1111'''(4)(5)'''234(5)()2!()3!4!5!(,)()()2!3!4!(,)nnnnnnnnnnnnnnnnnnnnyyyxhyyhhyyyhhhOhffxyyxyyyyyhhhhOhffxy''1111'''(4)(5)'''234(5)(,)()()2!3!4!nnnnnnnnnnyffxyyxyyyyyhhhhOh数值分析数值分析'1011101''2'''3111111(4)4(5)51111116()()()()2622()()24661202424()nnnnnnnyyyhyhyhyhyhOh将以上各公式代入并整理,得101111011()nnnnnnyyyhfff数值分析数值分析1''(5)'2561()()()2!5!p+1nnnnnnnpyxxTayloryyyxyyhhhOh为使上式有阶精度,只须使其与在处的展开式的前项重合。'1011101''2'''3111111(4)4(5)51111116()()()()2622()()24661202424()nnnnnnnyyyhyhyhyhyhOh数值分析数值分析010101111111111111122111162261111246624aaaaaa5,5,1iiP个参数只须个条件。由推导知,如果选取参数,使其满足前个方程(p=1,2,3,4),则近似公式为p阶公式。数值分析数值分析11011111,0,,02()2nnnnhyyff0如满足方程组前三个方程,故公式此为二阶公式。01110140,1,,33又如:解上面方程组得相应的线性二步四阶公式(Simpson公式)为1111(4)3nnnnnhyyfff数值分析数值分析1123(5559379)24Adamsnnnnnnhyyffff此式称为显式公式,是四阶公式.5(5)61251()720nnRhyOh局部截断误差为二、常用的线性多步公式(Adams)(1)阿达姆斯公式11125(5)61(9195)24Adams19()720nnnnnnnnhyyffffRhyOh为四阶隐式公式,其局部截断误差为数值分析数值分析(2)基于数值积分的Adams公式1111+11()()(,())(),,,,,,()()(),1nnnnxnnxxxnnnknnnkkyxyxfxyxdxFxdxxxxxxxFxxFx基本思想是首先将初值问题化成等价的积分形式用过节点或的的k次插值多项式代替求积分即得k阶的线性多步公式。数值分析数值分析123330123303,,,,()()()()()()()()()()()(0,1,2,3)nnnniniinnnninininjjjixxxxFxLxlxFxxxxxxxxxlxxxxxi例如k时,过节点的三次插值多项式为其中数值分析数值分析1111131301233231313233()()()[()]()()()()()6()()()()2()()()()2()(()nnnnnnnnnnxxnninixxixnnnnxxnnnnxxnnnnxnnyxyxLxdxlxdxFxxxxxxxFxdxhxxxxxxFxdxhxxxxxxFxdxhxxxFx1123123)()6[55()59()37()9()]24nnxnnxnnnnxxxdxhhFxFxFxFx数值分析数值分析1111233,(),(),(,)()(,())(,1,2,3),(5559379)24[,]nnnnkkkkkknnnnnnnnyyyxyxfxyFxfxyxknnnnhyyffffAdamsxxAdams对上式用代替用代替则得这就是四阶显式公式。由于积分区间在插值区间外面,又称为四阶外插公式。11(4)310(5)30()()4!()()4!nnnnxxnnjxjxxnjxjFRxxdxyxxdx由插值余项公式可得其局部截断误差为数值分析数值分析131(5)35(5)10,),()251()()4!720nnnnxnnjxjxxyRxxdxhy由积分中值定理,存在(使得数值分析数值分析1123111125(5)121()()()()()(1,0,1,2)()()()(9195)2419()720nnnninininjjjinnnnnnnnnnxxxxxxxxlxixxxxFxAdamshyyffffRhyxx其中代替求积分,即得四阶隐式公式其局部截断误差为由于积分区间在插21[,]nnxxAdamsAdams值区间内,故隐式公式又称为内插公式112231,,,()()()()nnnniniixxxxFxLxlxFx+同样,如果过节点的三次插值多项式为数值分析数值分析13125(5)614(22)314()()45nnnnnnnyyhfffMilineRhyOhMilinMilinee称为公式,(3)其局部截断误差为公式是四阶四步显米尔尼公式式公式。数值分析数值分析12115(5)6113(9)((min2)881()40)nnnnnnnnyyyhfffRhyOhHamg其局部截断误差为Hamming公式是四阶三(步4)哈明公式隐式公式。数值分析数值分析11,),)nnyn+1n+1n+1一般地,同阶的隐式法比显式法精确,而且数值稳定性也好。但在隐式公式中,通常很难解出y需要用迭代法求解,这样又增加了计算量。在实际计算中,很少单独用显式公式或隐式公式,而是将它们联合使用:先用显式公式求出y(x的预估值,记作y再用隐式公式对预估值进行校隐式法与显式法正,求出y(x的近似值的比较。数值分析数值分析三、预估-校正算法用显式公式计算预估值,然后用隐式公式进行校正,得到近似值yn+1这样一组计算公式称为预估-校正算法一般采用同阶的隐式公式与显式公式。常用的预估-校正算法有两种:123111121(5559379)24[9(,)195]24nnnnnnnnnnnnnhyyffffhyyfxyffAfdams预预估正校正校估—系统数值分析数值分析3121121114(22)313(9)l[(,)2)]88iminnnnnnnnnnnnnyyhfffyyyhfxyffMineHamg预估—校正系统(1)R-K3说明:以上两种预—校正均为四阶公式,其起步值通常用四阶公式计算。(2)有时为提高精度,校正公式可迭代进行多次,但迭代次数一般不估统超过系次。数值分析数值分析用局部截断误差进一步修正预测-校正公式5(5)6115(5)6115(5)6115(5)11251()()72019()()720270()720720()270nnnnnnnnnnnnAdamsyxyhyOhyxyhyOhyyhyOhhyyy由公式的局部截断误差公式两式相减数值分析数值分析用局部截断误差进一步修正预测-校正公式5(5)6115(5)6115(5)1111111111251()()72019()()720720()270251()()27019()()270nnnnnnnnnnnnnnnnnyxyhyOhyxyhyOhhyyyyxyyyyxyyy由得数值分析数值分析112311111121111(5559379)24251()270[9(,)195]2419()270nnnnnnnnnnnnnnnnnnnnnhPyffffmPCPhCyfxmfffyAdCmPasC多环节的预估由上面就得到预估改进校-校正公式正改进数值分析数值分析1312111211111114(22)3112()12113(9)[(,)2]ln889()1in21mnnnnnnnnnnnnnnnnnnnnPyhfffmPcMieHampCyyhfxmffyCPgC完全类似,可以导出预估改进校多环节的预估-校正公式正改进数值分析数值分析001111112112311411311,,(,),,(2),,1(3)(,)(,)22(,)(,)22nnnnnnnnnnnnabfxyNybahxanNffxyKhKhfKhfxyKhKhfxyKhfxhyKyy()输入置计算算法12341(22)6(4)(,)nnnKKKKxanhxy输出数值分析数值分析0033330321003132(5)3,1,31,0,0,6(6)(,)4112(22)()312113(9)[(,)2]889(),)121(7)1,jnnnnnpcffxyxxhpyfffmpcpcyyhfxmffyccpxynNnnx若置返回;否则,置转。计算输出(若,置1113300,,(0,1,2),,,,,6jjjjjxyyffjxxyyppcc转;否则停机。数值分析数值分析'120,0(,,,,)(1
本文标题:数值分析(26)线性多步法
链接地址:https://www.777doc.com/doc-7287011 .html