Euler法与改进Euler法.ppt

上传人:m**** 文档编号:576507622 上传时间:2024-08-20 格式:PPT 页数:51 大小:538.10KB
返回 下载 相关 举报
Euler法与改进Euler法.ppt_第1页
第1页 / 共51页
Euler法与改进Euler法.ppt_第2页
第2页 / 共51页
Euler法与改进Euler法.ppt_第3页
第3页 / 共51页
Euler法与改进Euler法.ppt_第4页
第4页 / 共51页
Euler法与改进Euler法.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《Euler法与改进Euler法.ppt》由会员分享,可在线阅读,更多相关《Euler法与改进Euler法.ppt(51页珍藏版)》请在金锄头文库上搜索。

1、第八章常微分方程数值解法常微分方程数值解法常微分方程数值解法 常微分方程主要有常微分方程主要有: : (1) (1)变量可分离的方程变量可分离的方程 (2)(2)一阶线性微分方程一阶线性微分方程( (贝努利方程贝努利方程) ) (3) (3)可降阶的一类高阶方程可降阶的一类高阶方程 (4)(4)二阶常系数齐次微分方程二阶常系数齐次微分方程 (5)(5)二阶常系数非齐次微分方程二阶常系数非齐次微分方程 (6)(6)全微分方程全微分方程常微分方程数值解法常微分方程数值解法l主要内容:l一、 引引 言言l二、二、 建立数值解法的常用方法建立数值解法的常用方法l三、三、 EulerEuler方法方法l

2、四、四、 几何意义几何意义l五、五、 EulerEuler方法的误差估计方法的误差估计l六、六、 向后向后EulerEuler方法方法主要内容主要内容 许多实际问题的数学模型是微分方程或微分许多实际问题的数学模型是微分方程或微分方程的定解问题方程的定解问题, ,如物体运动如物体运动, ,电路震荡电路震荡, ,化学反化学反映及生物群体的变化等映及生物群体的变化等. . 能用解析方法求出精确解的微分方程为数不能用解析方法求出精确解的微分方程为数不多多, ,而且有的方程即使有解析解而且有的方程即使有解析解, ,也可能由于解的也可能由于解的表达式非常复杂而不易计算表达式非常复杂而不易计算, ,因此有必

3、要研究微因此有必要研究微分方程的数值解法分方程的数值解法 一、引一、引 言言本章重点 研究一阶常微分方程的初值问题的数值解本章假定常微分方程数值解法常微分方程数值解法初值问题数值解的提法常微分方程数值解法常微分方程数值解法建立微分方程数值解法,首先要将微分方程离散化.一般采用以下几种方法:(1) 用差商近似导数 二、建立数值解法的常用方法二、建立数值解法的常用方法(2) (2) 用数值积分近似积分用数值积分近似积分实际上是矩形法实际上是矩形法宽宽高高常用方法常用方法(3) (3) 用用TaylorTaylor多项式近似并可估计误差多项式近似并可估计误差常用方法常用方法用差商近似导数用差商近似导

4、数问题转化为问题转化为EulerEuler方法的迭代公式方法的迭代公式 三、三、EulerEuler方法方法令令EulerEuler方法方法例例1解解初值问题的迭代公式为初值问题的迭代公式为: :例例 题题 1用求根公式求解初值问题用求根公式求解初值问题Clearx,y,hClearx,y,hh=0.1;h=0.1;xn_:=n*h;xn_:=n*h;DSolveyxDSolveyx=yx-2x/yx,=yx-2x/yx,y0=1,yx,xy0=1,yx,xTable%/.x-xn,n,1,6;Table%/.x-xn,n,1,6;MatrixFormMatrixForm%y0 - 1y0 -

5、 1y0.1 - 1.09545y0.1 - 1.09545y0.2 - 1.18322y0.2 - 1.18322y0.3 - 1.26491y0.3 - 1.26491y0.4 - 1.34164y0.4 - 1.34164y0.5 - 1.41421y0.5 - 1.41421y0.6 - 1.48324y0.6 - 1.48324求求微分方微分方程的解程的解Mathematica程序程序Cleara,b,x,yCleara,b,x,yx0=0;x0=0;y0=1;y0=1;h=0.1;h=0.1;xn_:=n*h;xn_:=n*h;fu_,v_:=v-2u/vfu_,v_:=v-2u/

6、vK1n_:=fxn-1,yn-1K1n_:=fxn-1,yn-1yn_:=yn-1+h*K1n;yn_:=yn-1+h*K1n;Tablexn,yn,n,0,8Tablexn,yn,n,0,8/N;/N;MatrixForm%MatrixForm%0 1.0.1 1.10.2 1.191820.3 1.277440.4 1.358210.5 1.435130.6 1.508970.7 1.580340.8 1.64978运行结果运行结果Mathematica程序程序近似解精确解0 1.0.1 1.10.2 1.191820.3 1.277440.4 1.358210.5 1.435130.6

7、 1.50897y0 - 1y0.1 - 1.09545y0.2 - 1.18322y0.3 - 1.26491y0.4 - 1.34164y0.5 - 1.41421y0.6 - 1.48324结果比较结果比较例例2解解初值问题的迭代公式为初值问题的迭代公式为: :例例 题题 2用求根公式求解初值问题用求根公式求解初值问题Clearx,y,hClearx,y,hh=0.1;h=0.1;xn_:=n*h;xn_:=n*h;DSolveyxDSolveyx=(2/3)*x/(yx)2,=(2/3)*x/(yx)2,y0=1,yx,xy0=1,yx,xTable%/.x-xn,n,0,10;Tab

8、le%/.x-xn,n,0,10;MatrixFormMatrixForm%y0 - 1y0.1 - 1.00332y0.2 - 1.01316y0.3 - 1.02914y0.4 - 1.05072y0.5 - 1.07722y0.6 - 1.10793Mathematica程序程序Cleara,b,x,yCleara,b,x,yx0=0;x0=0;y0=1;h=0.1;y0=1;h=0.1;xn_:=n*h;xn_:=n*h;fu_,v_:=(2/3)u/v2;fu_,v_:=(2/3)u/v2;K1n_:=fxn-1,yn-1K1n_:=fxn-1,yn-1yn_:=yn-1+h*K1n

9、;yn_:=yn-1+h*K1n;Tablexn,yn,n,0,6Tablexn,yn,n,0,6/N;/N;MatrixForm%MatrixForm%0 1.0.1 1.0.2 1.006670.3 1.019820.4 1.039050.5 1.063750.6 1.09321Mathematica程序程序 四、几何意义四、几何意义Y=y(x)ab几何意义几何意义四、Euler方法的误差估计为简化分析,先考化分析,先考虑计算一步所算一步所产生的生的误差,即假差,即假设是精确的,是精确的, 估估计误差差这种种误差称差称为局部截断局部截断误差差。 估估计截断截断误差的主要方法是差的主要方法是

10、Taylor展开法,即将函数展开法,即将函数在在处展开:展开: 取一次取一次Taylor多项式近似函数,得多项式近似函数,得 得得Euler方法的方法的局部截断误差公式局部截断误差公式为为 结论:上式上式说明明Euler公式公式的的局部截断局部截断误差差为它的精度很差。它的精度很差。 一般很少用它来求近似值,但是一般很少用它来求近似值,但是Euler法法却体现了数值方法的基本思想。却体现了数值方法的基本思想。 定定义8.1 如果某种数如果某种数值方法的局部截断方法的局部截断误差差为,则称称该方法是方法是p阶方法或方法或具有具有p阶精度阶精度。显然。显然p越大,方法的越大,方法的精度越高。精度越

11、高。 注注:Euler方法具有一阶精度,因此它的精度不高。方法具有一阶精度,因此它的精度不高。 需要需要说明的是,用不同的差商近似明的是,用不同的差商近似导数,将得数,将得到不同的到不同的计算公式。如果用向后差商代替算公式。如果用向后差商代替导数,数,即即则得得计算算公式公式用用这组公式求初公式求初值问题的数的数值解称解称为向后向后Euler方法方法。 向后向后Euler法与法与Euler法法形式上相似,但实际形式上相似,但实际计算时却复杂得多。计算时却复杂得多。Euler公式是显式的,可直接公式是显式的,可直接求解。向后求解。向后Euler公式是隐式公式,一般要用迭代公式是隐式公式,一般要用

12、迭代法求解,迭代公式通常为法求解,迭代公式通常为 如果用中心差商代替导数,则可导出如果用中心差商代替导数,则可导出Euler两步公式两步公式。 六、向后六、向后EulerEuler方法方法l主要内容:l1:引引 言言l2:2:建立数值解法的常用方法建立数值解法的常用方法l3: Euler3: Euler方法方法l4:4:几何意义几何意义l5: Euler5: Euler方法的误差估计方法的误差估计l6:6:向后向后EulerEuler方法方法本本 节节 小小 结结 第第 二二 节节改进的改进的EulerEuler方法方法改进的改进的Euler方法方法利用数值积分将微分方程离散化利用数值积分将微

13、分方程离散化得梯形公式得梯形公式: :解决方法:有的可化为显格式,但有的不行解决方法:有的可化为显格式,但有的不行梯形方法为隐式算法梯形方法为隐式算法改进的改进的Euler方法方法梯形公式比欧拉法精度高一些梯形公式比欧拉法精度高一些, ,但计算量较大但计算量较大 实际计算中只迭代一次,这样建立的预测实际计算中只迭代一次,这样建立的预测校正系统称作校正系统称作改进的欧拉公式改进的欧拉公式。改进的改进的Euler方法方法改进的改进的Euler方法方法二、改进的Euler法 梯形方法虽然提高了精度,但算法复杂,计算梯形方法虽然提高了精度,但算法复杂,计算量大。如果实际计算时精度要求不太高,用梯形公量

14、大。如果实际计算时精度要求不太高,用梯形公式求解时,每步可以迭代一次,由此导出一种新的式求解时,每步可以迭代一次,由此导出一种新的方法方法改进改进Euler法法。这种方法实际上就是。这种方法实际上就是将将Euler公式与梯形公式结合使用公式与梯形公式结合使用:先用:先用Euler公式公式求求 的一个初步近似值的一个初步近似值 ,称为,称为预测值预测值,预测值,预测值 的精度可能很差,再用的精度可能很差,再用梯形公式校正梯形公式校正求得近似值求得近似值 即即 改进改进Euler法法 亦称为由亦称为由Euler公式公式和和梯形公式梯形公式得到的得到的 预测校正预测校正(Predictor-Corr

15、ector)系统。系统。为便于上机编程,常改写成为便于上机编程,常改写成例例3解解(1)用)用Euler方法方法得算式得算式为 (2)用)用改改进的的Euler方法方法得算式得算式为 数值结果见下表:数值结果见下表: xEuler法的法的y改进的改进的Euler法的法的y精确值精确值y00.10.20.30.40.50.60.70.80.91.01.0000001.1000001.1918181.2774381.3582131.4351331.5089661.5803381.6497831.7177791.7847701.0000001.0959091.1840961.2662011.3433

16、601.4164021.4859561.5525151.6164761.6781681.73786911.0954451.1832161.2649911.3416411.4142141.4832401.5491931.6124521.6733201.732051从计算结果可见,改进从计算结果可见,改进Euler法的精度明显高于法的精度明显高于Euler法。法。 Mathematia程序用求根公式求解初值问题用求根公式求解初值问题Clearx,y,hh=0.1;xn_:=n*h;DSolveyx=yx-2x/yx, y0=1,yx,xTable%/.x-xn,n,1,6;MatrixForm%y

17、0 - 1y0.1 - 1.09545y0.2 - 1.18322y0.3 - 1.26491y0.4 - 1.34164y0.5 - 1.41421y0.6 - 1.48324Mathematia程序Clearx,y,hx0=0;y0=1;h=0.2;xn_:=n*h;fu_,v_:=v-2u/vK1n_:=fxn-1,yn-1K2n_:=fxn-1+h,yn-1+h*K1n;yn_:=yn-1+h/2*(K1n+K2n);Tablexn,yn,n,0,6/N;MatrixForm%0 1.0.1 1.097740.2 1.187570.3 1.271290.4 1.350130.5 1.4

18、24990.6 1.49657比较比较Euler近似解精确解0 1.0.1 1.10.2 1.191820.3 1.277440.4 1.358210.5 1.435130.6 1.50897y0 - 1y0.1 - 1.09545y0.2 - 1.18322y0.3 - 1.26491y0.4 - 1.34164y0.5 - 1.41421y0.6 - 1.483240 1.0.1 1.097740.2 1.187570.3 1.271290.4 1.350130.5 1.424990.6 1.49657改进Euler近似解作作业:1 用欧拉用欧拉预- -校方法求解初校方法求解初值问题要求取

19、步要求取步长h=0.2,计算算y(1.2)和和y(1.4)的近似的近似值,小数,小数点后至少保留点后至少保留5位。位。 2 解解常微分方程的初常微分方程的初值问题用欧拉法求解分用欧拉法求解分别取步取步长h=0.1和和h=0.05。 利用数值积分将微分方程离散化利用数值积分将微分方程离散化得梯形公式得梯形公式: :解决方法:有的可化为显格式,但有的不行解决方法:有的可化为显格式,但有的不行梯形方法为隐式算法梯形方法为隐式算法改进的改进的Euler方法方法梯形公式比欧拉法精度高一些梯形公式比欧拉法精度高一些, ,但计算量较大但计算量较大 实际计算中只迭代一次,这样建立的预测实际计算中只迭代一次,这

20、样建立的预测校正系统称作校正系统称作改进的欧拉公式改进的欧拉公式。改进的改进的Euler方法方法改进的改进的Euler方法方法Clearx,y,hClearx,y,hx0=0;x0=0;y0=1;y0=1;h=0.2;h=0.2;xn_:=n*h;xn_:=n*h;fu_,v_:=fu,v;fu_,v_:=fu,v;K1n_:=fxn-1,yn-1K1n_:=fxn-1,yn-1K2n_:=fxn-1+h,yn-1+h*K1n;K2n_:=fxn-1+h,yn-1+h*K1n;yn_:=yn-1+h/2*(K1n+K2n);yn_:=yn-1+h/2*(K1n+K2n);Tablexn,yn,

21、n,0,4/N;Tablexn,yn,n,0,4/N;MatrixForm%MatrixForm%Mathematica程序程序例例3解解例例 题题 3用求根公式求解初值问题用求根公式求解初值问题Clearx,y,hClearx,y,h h=0.1;h=0.1;xn_:=n*h;xn_:=n*h;DSolveyxDSolveyx=yx-2x/yx,=yx-2x/yx,y0=1,yx,xy0=1,yx,xTable%/.x-xn,n,1,6;Table%/.x-xn,n,1,6;MatrixFormMatrixForm%y0 - 1y0.1 - 1.09545y0.2 - 1.18322y0.3

22、 - 1.26491y0.4 - 1.34164y0.5 - 1.41421y0.6 - 1.48324Mathematica程序程序Clearx,y,hClearx,y,hx0=0;x0=0;y0=1;y0=1;h=0.2;h=0.2;xn_:=n*h;xn_:=n*h;fu_,v_:=v-2u/vfu_,v_:=v-2u/vK1n_:=fxn-1,yn-1K1n_:=fxn-1,yn-1K2n_:=fxn-1+h,yn-K2n_:=fxn-1+h,yn-1+h*K1n;1+h*K1n;yn_:=yn-1+h/2*(K1n+K2n);yn_:=yn-1+h/2*(K1n+K2n);Table

23、xn,yn,n,0,6/N;Tablexn,yn,n,0,6/N;MatrixForm%MatrixForm%0 1.0.1 1.097740.2 1.187570.3 1.271290.4 1.350130.5 1.424990.6 1.49657Mathematica程序程序Euler近似解精确解0 1.0.1 1.10.2 1.191820.3 1.277440.4 1.358210.5 1.435130.6 1.50897y0 - 1y0.1 - 1.09545y0.2 - 1.18322y0.3 - 1.26491y0.4 - 1.34164y0.5 - 1.41421y0.6 - 1.483240 1.0.1 1.097740.2 1.187570.3 1.271290.4 1.350130.5 1.424990.6 1.49657改进Euler近似解结果比较结果比较

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号