您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > 81第一节 欧拉方法
数学学院信息与计算科学系在高等数学中用解析法求解常微分方程的初值问题00(,)(1)()yfxyaxbyxy(0)1yyy例如初值问题又由y(0)=1,得01,1CeC因此初值问题解为y=ex但很多时候解析解求不出来,如f(x,y)=x2+y2.第八章常微分方程数值解法xyce由得解yy数学学院信息与计算科学系求解常微分方程的初值问题00(,)(1)()dyfxydxyxy上的近似值为012nxxxx{yn}称为问题的数值解,数值解所满足的离散方程统称为差分格式,hi=xi-xi-1称为步长,实用中常取定步长.第一节欧拉方法的数值解,就是寻求准确解y(x)在一系列离散节点012,,,,,nyyyy数学学院信息与计算科学系定理设函数f(x,y)在区域ybxaD,:2121),(),(yyLyxfyxf上连续,且在区域D内满足李普希兹(Lipschitz)条件,即存在正数L,使得对于R内任意两点(x,y1)与(x,y2),恒有则初值问题(1)的解y(x)存在并且唯一.(不证)这一定理保证了初值问题(1)的数值解法才有意义,只要满足条件就可以继续讨论.数学学院信息与计算科学系将求解区间[a,b]分成N等分,令,,(0,1,,)nbahxanhnNN在xn点列出方程式()()(,())nnnndyxyxfxyxdx将y(xn)表示为数值微分前差商方程有11()()()(),(,)2nnnnnnnyxyxhyxyxxh一、欧拉法(欧拉折线法)代入前式可得21()()(,(,))()2nnnnnnhyxyxhfxyxyy数学学院信息与计算科学系截去)(221nyhT再用yn近似代替y(xn),用yn+1近似代替y(xn+1),就得到了微分方程满足的递推公式为100(,),0,1,()nnnnyyhfxynyyx此式称为(显式单步法)欧拉(Euler)公式.21()()(,(,))()2nnnnnnhyxyxhfxyxyy欧拉公式具有明显的几何意义,就是用折线近似代替方程的解曲线,因而常称为欧拉折线法.数学学院信息与计算科学系(,)dyyfxydx如果对方程从xn到xn+1积分,得11()()(,())nnxnnxyxyxftytdt右端积分用左矩形公式hf(xn,y(xn))近似,再以yn代替y(xn),yn+1代替y(xn+1)也得到欧拉公式100(,),0,1,()nnnnyyhfxynyyx因此欧拉公式也称为矩形法.数学学院信息与计算科学系例1用欧拉公式解初值问题2(01),(0)1.xyyxyy解取步长h=0.1,欧拉公式的具体形式为)2(1nnnnnyxyhyy其中xn=nh=0.1n(n=0,1,,10),已知y0=1,由此式可得010002()10.11.1xyyhyy1211120.2()1.10.1(1.1)1.1918181.1xyyhyy数学学院信息与计算科学系依次计算下去,部分计算结果见下表.xy21与准确解相比,可看出欧拉公式的计算结果精度很差.xn欧拉公式数值解yn准确解y(xn)误差0.20.40.60.81.01.1918181.3582131.5089661.6497831.7847701.1832161.3416411.4832401.6124521.7320510.0086020.0165720.0257260.0373310.052719数学学院信息与计算科学系二、改进的欧拉法(梯形法)为得到比欧拉法精度高的计算公式,在等式111(,)(,)2nnnnnnhyyfxyfxy称为改进的欧拉法,也称为梯形方法(公式).右端积分用梯形求积公式近似,并用yn代替y(xn),yn+1代替y(xn+1),则得11()()(,())nnxnnxyxyxftytdt不难发现,欧拉方法是显式单步法,而梯形方法是隐式单步法,要用迭代法求解.数学学院信息与计算科学系先用欧拉法提供迭代初值,再用梯形迭代公式迭代1(0)1(1)()11(,);(,)(,)(0,1,).2nnnnnkknnnnnyyhfxyhyyfxyfxyk对于给定的精度,如果有11(1)()nnkkyy这时就取,然后再转入下一步计算.11(1)nnkyy可以证明,如果f(x,y)满足李普希兹条件,只要步长h足够小,就可保证数列的收敛性,即1()1limnknkyy数学学院信息与计算科学系三、预估-校正法梯形公式虽然提高了精度,但其算法复杂,要进行多次迭代,计算量很大,而且往往难以预测.为了控制计算量,通常只迭代一两次就转入下一步的计算,这就简化了算法.具体地说,我们先用欧拉公式求得一个初步的近似值,称之为预估值,此预估值的精度可能很差,再用梯形公式将它迭代一次得到校正值yn+1.即有(0)1ny(0)1ny数学学院信息与计算科学系预估-校正公式为或表示为下列形式预估(0)1(0)111(,)0,1,2,[(,)(,)]2nnnnnnnnnnyyhfxynhyyfxyfxy校正1121211122(,)0,1,2,(,)nnnnnnyykkkhfxynkhfxhyk数学学院信息与计算科学系例2用预估-校正公式解例1中的初值问题解仍取步长h=0.1,预估-校正公式为2(01),(0)1.xyyxyy计算结果见下表(为了比较,这里把欧拉公式计算的结果也放在一起,明显预估-校正公式改善了精度).1121211)(222121kyhxkyhkyxyhkkkyynnnnnnnn数学学院信息与计算科学系1.3416411.3433601.3582130.441.2649111.2662011.2774380.331.1832161.1840971.1918180.221.0954451.0959091.10.1111100准确解预估-校正法欧拉法nxnny数学学院信息与计算科学系50.51.4351331.4164021.41421460.61.5089661.4859561.48324070.71.5803381.5525141.54919380.81.6497831.6164751.61245290.91.7177791.6781661.6733201011.7847711.7378671.732051欧拉法有2位有效数字,而预估-校正法有3位有效数字.数学学院信息与计算科学系例3用预估-校正公式解初值问题解预估-校正公式为计算结果见数表2(01),(0)1yxyxy1122122111220.20.2(0.2)()nnnnnnyykkkxykxyk的数值解,取步长h=0.2,以4位有效数字计算.nxnynnxnyn01200.20.41.1.021.08593450.60.81.01.2171.4611.957数学学院信息与计算科学系四、公式的截断误差与方法的阶为了简化分析,在进行误差分析时,假设前一步的结果是准确的,即在yn=y(xn)的前提下,考虑用yn+1作为y(xn+1)的近似值而产生的截断误差,这种误差称为局部截断误差.定义若某种微分方程数值解公式的截断误差是O(hk+1),则称这种方法是k阶(精度)方法.用泰勒展开式将y(xn+1)在xn处展开,则有21()()()()()2!nnnnnhyxyxhyxhyxyx数学学院信息与计算科学系对欧拉公式有1(,)()()nnnnnnyyhfxyyxhyx2211()()()2!nnnhyxyyOh于是有欧拉公式的截断误差所以欧拉法是一阶方法.还可以证明,改进的欧拉公式与预估-校正公式的截断误差都是O(h3),因此这两种方法都是二阶方法.21()()()()()2!nnnnnhyxyxhyxhyxyx
本文标题:81第一节 欧拉方法
链接地址:https://www.777doc.com/doc-4422787 .html