您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第五章常微方程初值问题
第第五五章章常常微微方方程程初初值值问问题题数值微分我们讨论()yfx的导数问题。实际计算及讨论函数在具体某点的导数值。我们自然想到微积分中的导数定义:0000()()'()limhfxhfxfxh用00()()fxhfxh作为0'()fx的近似。理论上这种近似,h越小越好,但实际计算相近的数相减会损失有效数字,实际计算中要注意这些问题。二阶导数的三点公式:10210012221111012210212012211''()()(2)11''()()(2)11''()()(2)yyyyyxyyyhhhhyyyyyxyyyhhhhyyyyyxyyyhhhh精度高一个量级往往利用插值方法先求出插值函数,在对函数求导,用之代替原函数的导数。数值积分我们也曾这样做。本本章章我我们们主主要要解解决决初初值值问问题题的的数数值值解解法法。。即即::00(,)xxdyfxydxyy数数值值解解就就是是要要求求出出在在1020300,2,3,...,nxxhxxhxxhxxnh一一系系列列点点上上的的近近似似值值123,,,...,nyyyy。。假假设设()fx在在所所讨讨论论问问题题中中连连续续。。由由LLeeiibbnniizz公公式式((或或对对方方程程积积分分))有有::11()()(,)nixnixyxyxfxydx依依据据上上式式可可得得到到不不同同的的数数值值解解法法。。§§11欧欧拉拉法法和和改改进进欧欧拉拉法法、、预预估估--校校正正法法由由11()()(,)nixnixyxyxfxydx积积分分可可用用()()()bafxdxfaba左左矩矩形形公公式式,,得得::1()()(,)nnnnyxyxhfxy显显式式用用()()()bafxdxfbba右右矩矩形形公公式式,,得得::111()()(,)nnnnyxyxhfxy隐隐式式1()(()())()2bafxdxfafbba梯梯形形公公式式,,得得::111()()[(,)(,)]2nnnnnnhyxyxfxyfxy改改进进欧欧拉拉公公式式精精度度比比上上两两个个高高一一个个量量级级。。隐隐式式和和改改进进欧欧拉拉法法都都是是一一个个方方程程。。如如果果方方程程解解时时比比较较复复杂杂,,则则用用迭迭代代发发近近似似求求解解。。先先用用显显式式欧欧拉拉公公式式计计算算初初值值,,再再用用改改进进欧欧拉拉公公式式迭迭代代求求解解。。((数数学学证证明明当当dfdy在在所所讨讨论论的的范范围围有有界界在在hh取取得得很很小小时时,,这这种种迭迭代代收收敛敛))。。公公式式为为::(0)1(1)()111(,)[(,)]0,1,2,...2nnnnnnkknnnnnyyhfxyyhfhyyffxyk程程序序结结构构::00(,)xxdyfxyyydxF(x,y)=Y*YWRITE(*,*)'INPUTX0,Y0'READ(*,*)X0,Y0WRITE(*,*)'INPUT[x0,b]B'READ(*,*)BWRITE(*,*)'INPUTh'READ(*,*)hY=Y0F0=F(X0,Y0)DO100X=X0,B,HY=Y0+H*F0DO200K=1,10Y=Y0+H/2.0*(F0+F(X,Y))200CONTINUEWRITE(*,*)X+h,Y,1.0/(1-X-h)Y0=YF0=F(X,Y)100CONTINUESTOPEND注注意意::所所计计算算的的范范围围必必须须是是从从XX00到到某某值值BB。。因因为为是是逐逐点点递递推推的的。。当当计计算算范范围围为为[[BB,,XX00]]时时,,步步长长hh取取负负值值。。作作业业::数数值值解解初初值值问问题题::201xdyyydx用用改改进进公公式式解解方方程程,,并并和和精精确确解解11yx作作图图比比较较。。注注意意::本本题题中中xx的的取取值值范范围围不不能能接接近近11,,为为什什么么??将将方方程程换换成成01xdyyydx,精精确确解解为为xye计计算算[[--22,,22]]间间曲曲线线将将方方程程换换成成01xdyyxydx,精精确确解解为为*/2xxye计计算算[[--22,,22]]间间曲曲线线2210ln0exp()22yxdyxxxdxyyy改改进进欧欧拉拉法法在在判判断断迭迭代代收收敛敛时时dfdy很很不不好好求求((为为什什么么??未未知知!!))。。往往往往计计算算中中用用预预估估--校校正正法法,,公公式式如如下下::1()nnnnPyhfxy左左矩矩形形预预估估1ny11(,)nnnnCyhfxP右右矩矩形形111111[(,)(,)]2[(,)(,(,))]2()2nnnnnnnnnnnnnnnnPyhfxhyyfxyfxhyfxyfxhyPyC校校正正111()()[(,)(,)]2nnnnnnhyxyxfxyfxy(1)()111[(,)]0,1,2,...2kknnnnnhyyffxyk§§22龙龙格格--库库塔塔法法((RRuunnggee--KKuuttttaa))欧欧拉拉法法计计算算简简单单,,精精度度不不高高。。预预估估校校正正法法可可写写为为::111211211(,[(,)(,))(,)]2[]2(,)(,)](,)]nnnnnnnnnnnnnnnnnhyyfxyfxhyKKKyhfxyyhfxyyhKfxyKfxfx将将上上式式加加以以推推广广1112212221[](,)(,)]nnnnnnyyhcKcKKfxyKfxhyhK**122,,cc为为待待定定系系数数,,当当1221/2,1cc时时就就是是预预估估--校校正正法法。。我我们们现现在在要要选选取取上上面面的的三三个个系系数数,,使使得得上上式式的的误误差差为为3()Oh。我我们们将将1()nyx在在nx展展开开::2311()()'()''()()2nnnnyxyxhyxhyxOh****其其中中::'()(,())''()(,())(,())'()(,())(,())(,())xyxyxyyxfxyxyxfxyxfxyxyxfxyxfxyxfxyxfff另另一一方方面面,,将将****式式中中的的2K在在已已知知点点(,)nnxy展展开开22221(,)()nnxyKfxyfhfhKOh二二元元函函数数展展开开带带入入****式式得得::下下标标xx,,yy表表示示偏偏导导数数,,nn表表示示在在(,)nnxy点点。。3112221223122222231222231222[(,)]()()()()()()'()''()()nnnhnnxynnnxynnnxynnnnyyhcfcfxyfhfhKOhyhcfhcfcfhcfhfOhyhccfhcfffOhyhccyxhcyxOh与与********式式比比较较2311()()'()''()()2nnnnyxyxhyxhyxOh****我我们们取取122211,2ccc时时****式式的的误误差差为为3()Oh三三个个未未知知数数两两个个方方程程,,所所以以具具体体的的取取法法很很多多。。当当1221,12cc时时,,就就是是欧欧拉拉预预估估--校校正正法法。。另另一一个个常常取取12210,1,2cc,此此时时公公式式为为::12112(,)(,)]22nnnnnnyyhKKfxyKhKfxyh中点公式以以上上是是二二阶阶龙龙格格--库库塔塔公公式式,,按按照照相相似似的的方方法法做做出出三三阶阶公公式式1112233122213331132231323[](,)(,)](,)]nnnnnnnnyyhcKcKcKKfxyKfxhyhKKfxhybhKbhKbb%%%1232332,,,,,cccaab为为待待定定系系数数,,选选取取这这五五个个系系数数,,可可使使得得上上式式的的误误差差为为4()Oh。方方法法和和前前面面一一样样,,将将1()nyx在在nx展展开开到到三三次次项项;;同同时时将将%%%式式也也展展开开到到三三次次项项;;在在比比较较对对应应项项的的系系数数。。最最后后可可得得1232233223232223311,211,63ccccacacabcaca六六个个未未知知数数,,四四个个方方程程,,常常取取如如下下两两个个公公式式::123233213122,0,,,,44333cccaab11312132/4[3](,)(/3,/3)](2/3,2/3)]nnnnnnnnyyhKKKfxyKfxhyhKKfxhyhK12323321211,,,,1,26362cccaab1123121312/6[4](,)(/2,/2)](,2)]nnnnnnnnyyhKKKKfxyKfxhyhKKfxhyhKhK四四阶阶公公式式((考考试试题题))112341213243/6[22](,)(/2,/2)](/2,/2)](,)]nnnnnnnnnnyyhKKKKKfxyKfxhyhKKfxhyhKKfxhyhK上上式式为为古古典典龙龙格格库库塔塔公公式式,,最最常常用用112341213214123/8[33](,)(/3,/3)](2/3,/3)](,)]nnnnnnnnnnyyhKKKKKfxyKfxhyhKKfxhyhKhKKfxhyhKhKhK程程序序很很简简单单。。写写时时如如果果要要用用KK作作变变量量,,将将其其定定义义成成实实型型。。作作业业将将欧欧拉拉改改进进法法程程序序改改为为四四阶阶古古典典龙龙格格库库塔塔法法,,并并比比较较结结果果。。
本文标题:第五章常微方程初值问题
链接地址:https://www.777doc.com/doc-2189273 .html