您好,欢迎访问三七文档
常微分方程欧拉算法摘要:本文主要论述了常微分方程的欧拉算法的算法原理,误差分析,实例,程序,以及算法比较等内容。关键词:常微分方程显式欧拉法隐式欧拉法引言:微分方程初值问题模型是常见的一类数学模型。对于一些简单而典型的微分方程模型,譬如线性方程、某些特殊的一阶非线性方程等是可以设法求出其解析解的,并有理论上的结果可资利用。但在数学建模中碰到的常微分方程初值问题模型,通常很难,甚至根本无法求出其解析解,而只能求其近似解。因此,研究其数值方法,以便快速求得数值鳃有其重大意义。一、欧拉算法原理对于微分方程初值问题=xydyfdx,00yx=y的解在xy平面上是一条曲线,称为该微分方程的积分曲线。积分曲线上一点,xy的切线斜率等于函数f在点,xy的值,从初始点000,Pxy出发,向该点的切线方向推进到下一个点111,Pxy,然后依次做下去,得到后面的未知点。一般地,若知道,nnnPxy依上述方法推进到点111,nnnPxy,则两点的坐标关系为:11,nnnnnnyyfxyxx即1,nnnnyyhfxy这种方法就是欧拉(Euler)方法(也叫显式欧拉法或向前欧拉法)。当初值0y已知,则ny可以逐步算出1000,yyhfxy2111,yyhfxy111,nnnnyyhfxy对微分方程=xydyfdx,从nx到1nx积分,那么有11,nnxnnxyxyxftytdt现在用左矩形公式,nnhfxyx代替1,nnxxftytdt,ny代替nyx,1ny代替1nyx就得到了欧拉方法。如果用右矩形公式11,nnhfxyx去代替右端积分,则得到另外一个公式,该方法就称为隐式欧拉法(或后退欧拉法),其公式为111,nnnnyyhfxy欧拉公式与隐式欧拉公式的区别在于欧拉公式是关于1ny的一个直接计算公式,然而隐式欧拉公式右端含有1ny,所以它实际上是关于1ny的一个函数方程。二、实例例取h=0.1,用Euler方法解解如果用Euler法,代入0.1得MATLAB绘制图像如下:。,1)0(1yyxy。,,11)(0yyxyxf。1.09.01.01nnnyxy三、误差分析初值问题的单步法可以写成如下统一形式其中和f有关,若中不含1ny,则方法是显式的,否则是隐式的,所以一般显示单步法表示为:例如在Euler方法中,有,,,xyhfxy,对于不同的方法中,计算值1ny与准确值nyx的误差各不相同。所以有必要讨论方法的截断误差,我们称nnneyxy为某一方法在nx点的整体截断误差。显然,ne不但与nx这步的计算有关,所以误差被称为整体的。分析和估计整体截断误差ne是复杂的,为此,我们假设nx处的1ny没有误差,即nnyyx,考虑从nx到1nx这一步的误差,这就是如下的局部误差的概念。1111,,,,nnnnnnnTyxyxhxxyxyxh为单步法的局部截断误差。111(,,,,)nnnnnnyyhxxyyh1,,nnnnyyhxyh四、算法程序现用matlab编程,程序如下f.mfunctionf=f(x,y)f=-y+x+1;[x,y]=myeuler('f',0,1,1);%利用程序求解方程y1=x+exp(-x);%方程f=-y+x+1的精确解plot(x,y,'-b',x,y1,'-r')%在同一图窗将欧拉法解和精确解的图画出legend('欧拉法','精确解')五、算法比较由表可以看出:当A≤0.1时,欧拉法稳定,欧拉预测校正法也稳定。当h=O.2时,欧拉法和欧拉预测校正法都不稳定,计算结果严重偏离精确法。要想计算结果充分接近于解析解还需取较小的h值,可以看出,h越小,计算结果越好。对于梯形法,理论上讲对于任何五值都稳定,但明显看出,要保证有较高的精度,也必须取较小的办值。另外,由表可见,两个二阶方法精度也较高。结论:将数值解和解析解进行比较,很容易对欧拉法的三种不同算法的精度进行比较,其中改进欧拉法在这三种近似数值法的精度是最高的。欧拉法的数值求解不仅减小了数值计算的工作强度,而且提高了它的运算速度。这种方法对常微分方程初值问题的近似值求解和理论分析均具有一定的参考价值。参考文献:[1]徐萃徽。孙绳武,计算方法引论(第二版)北京:高等教育出版社,2002.1[2]冯康.数值计算方法口订]杭州:浙江大学出版社,2003[3]胡健伟汤怀民.微分方程数值解法(第二版).北京;科学出版社.2007[4]蔡大用擞值分析与实验呻】.北京:清华大学出版社,2001[5]李立康,於祟华,朱政华.微分方程数值解法[M】.上海:复旦大学出版社,1999[6]C.w|吉尔常微分方程初值问题的数值解法【M】.费景高译.北京;科学出版社,1978
本文标题:常微分方程欧拉算法
链接地址:https://www.777doc.com/doc-2450948 .html