




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、常微分方程初值问题的欧拉方法及其改进的欧拉方法的 Matlab 实现纪秀浩辽宁工程技术大学理学院,辽宁阜新(123000E-mail :摘 要 :欧拉 (Euler方法及改进的欧拉方法是解决常微分方程初值问题常用的数值解法, 但 Matlab 的工具箱中没有 Euler 方法的功能函数。本文在简要介绍 Euler 方法及其改进的 Euler 方法的基础上, 通过编写 Matlab 程序实现两种数值解法, 并通过作图形式对比其精度, 加深对两种方法的认识。关键词:欧拉方法;改进的欧拉方法; matlab 实现1.引言常微分方程是解决工程实例的常用的工具 1,建立微分方程只是解决问题的第一步,通
2、常需要求出方程的解来说明实际现象, 并加以检验。 如果能得到解析形式的解固然是便于分 析和应用的, 但是我们知道, 虽然求解常微分方程有各种各样的解析方法, 但解析方法只能 用来求解一些特殊类型的方程,实际问题终归结出来的微分方程主要靠数值解法 2。数值解 法就是一个十分重要的手段,而欧拉方法又是数值解法最基础最常用的方法。2. 欧拉方法、改进的欧拉方法及 Matlab 实现下面主要讨论一阶常微分方程的初值问题,其一般形式为:' 00(, ( y f x y y x y = (1 我们知道,只要函数 (, f x y 适当光滑 譬如关于 y 满足利普希茨 (Lipschitz条件(,
3、(, f x y f x y L y y 理论上就可以保证初值问题 (1的解 ( y y x =存在并且唯一 3。所 谓 数 值 解 法 , 就 是 求 问 题 (1 在 某 些 离 散 点 01N a x x x b =<<=" 的 近 似 值012, , , N y y y y " 的方法。 012, , , N y y y y " 就称为问题 (1的数值解。 1n n n h x x +=成为 n x 到 n x 的步长,我们为了方便取为常量 h 。 2.1. 欧拉方法将微分方程离散化,用向前差商 1( ( n n y x y x h+代替微分
4、'( n y x ,代入 (1中的微分方程,可得1( (, (1, 2,3, n n n n y x y x f x y x n h+="化简可得1( ( (, ( (1, 2,3, n n n n y x y x f x y x hn +=+="中国 科技论文在线如果用 n y 近似 ( n y x 代入上式便可得到 1( n y x +的近似值 1n y +,计算式为:1(, (1, 2,3, n n n n y y f x y h n +=+=" (2 这样问题 (1的近似解可通过求解下面的差分初值问题:10(, (1,2,3, (n n n n y
5、 y f x y h n y y a +=+=" (3得到,按 (3式由初值 0y 可逐次求出 12, , y y " 。对于 Euler 公式 (3我们看到,当 1, 2, n =" 时公式右端的 n y 都是近似的,所以用它计算 的 1n y +会有累积误差,分析累积误差比较复杂,这里先讨论比较简单的所谓局部截断误差。假定用 (3式时右端的 n y 没有误差,即 ( nn y y x =那么由此算出1( (, ( n n n n y y x f x y x h +=+ (4局部截断误差指的是, 按 (4式计算由 n x 到 1n x +这一步的计算值 1n y
6、 +与精确值 1( n y x +之差11( n n y x y +。为了估计它,由 Taylor 展开得到的精确值 1( n y x +是2'''31( ( ( ( ( 2n n n n h y x y x hy x y x O h +=+ (5(4、 (5两式相减(注意到 '(, y f x y =得2''3211( ( ( ( 2n n n h y x y y x O h O h +=+ (6即局部截断误差是 2h 阶的,而数值算法的精度定义为:若一种算法的局部截断误差为1( p O h +,则称该算法具有 p 阶精度。显然 p 越大,方法
7、的精度越高。式 (6说明, Euler方法是一阶方法,因此它的精度不高。2.2 改进的欧拉方法用数值积分方法离散化问题 (1,两端积分可得11( ( (, ( (0,1, 2, n nx n n x y x y x f x y x dx n +="对右端积分使用梯形公式可得 ,111(, ( (, ( (, (2n nx n n n n x hf x y x dx f x y x f x y x + 再用 1, n n y y +代替 1(, ( n n y x y x +,则得计算公式111(, (, 2n n n n n n hy y f x y f x y +=+ (7很明显可
8、以注意到 (7式为隐式形式。改进的欧拉方法是先用欧拉公式求 1( n y x +的一个近似值 1n y +,称为预测值,然后用梯 形公式进行矫正并求得近似值 1n y +。即1111(, (, (, 2n n n n n n n n n n y y f x y h hy y f x y f x y +=+=+由 (7式可知,11232434( ( '( '(2'( "( "'(23!( '( ''( '''( 22'''( ( 12n n n n n n n n n n
9、n n hy x y x y x y x h h hy x y x y x h hy x y x hy x y x O h h y x O h +=+=+所以改进的欧拉方法是二阶的,精度较欧拉方法要高,实用性更加广泛。3.实验及结果分析3.1 欧拉方法的 matlab 实现及实例欧拉方法的 Matlab 实现程序如下: function x,y=euler(fun,x0,xfinal,y0,n; if nargin<5,n=50; endh=(xfinal-x0/n; x(1=x0;y(1=y0; for i=1:nx(i+1=x(i+h;y(i+1=y(i+h*feval(fun,x(
10、i,y(i; end例 4 求解初值问题'2(01(01x y y x y y =<<=(9解 编写函数文件 doty.m 如下: function f=doty(x,y; f=y-2*x/y;在 Matlab 命令窗口输入: x,y=euler('doty',0,1,1,10便可得到结果:x=0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000 y=1 1.1000 1.1918 1.2774 1.3582 1.435 11.5090 1.5803 1.6498 1.
11、7178 1.7848 初值问题 (6 的精确解为:y =, 此时对应 n x 的精确解 ( n y x 可编程:y1=sqrt(1+2.*x得到 y1=1 1.0954 1.1832 1.2649 1.3416 1.4142 1.4832 1.5492 1.6125 1.6733 1.7321下面通过作图比较欧拉数值解与精确解之间的误差, 编程:plot(x,abs(y-y1,'*', 可得到 图 2-1: 图 2-1 欧拉数值解与精确解的误差图从图中可以看出欧拉方法精度很差。3.1 改进欧拉方法的 matlab 实现为了编程方便,常把 (5式改写为:11(, (, (, 2
12、1( 2p n n n q nn n n p n p q y y f x y h h y y f x y f x y y y y +=+=+=+则 Matlab 实现程序为:function x,y=eulerpro(fun,x0,xfinal,y0,n; if nargin<5,n=50; endh=(xfinal-x0/n; x(1=x0;y(1=y0; for i=1:nx(i+1=x(i+h;y1=y(i+h*feval(fun,x(i,y(i; y2=y(i+h*feval(fun,x(i+1,y1;中国 科技论文在线y(i+1=(y1+y2/2; end仍然选用上面的实例 (
13、6,函数 doty.m 文件相同,在 Matlab 命令窗口中输入: x,y=eulerpro('doty',0,1,1,10便可得到x=0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000 y=1 1.0959 1.1841 1.2662 1.3434 1.4164 1.4860 1.5525 1.6165 1.6782 1.7379 y1=1 1.0954 1.1832 1.2649 1.3416 1.4142 1.4832 1.5492 1.6125 1.6733 1.7321 y 为改进的欧拉数值解, y1为精确解。 从上面的数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45576-2025网络安全技术网络安全保险应用指南
- 信息处理技术员经典考题及答案
- 软件测试的重要性和方法试题及答案
- 计算机应用案例分析试题及答案
- 材料疲劳寿命评估数据可视化重点基础知识点
- 行政管理综合素质试题及答案分享
- 军训火灾应急预案范文(3篇)
- 选择的里程碑2024年高考作文考试试题及答案
- 2025年战略管理中的组织变革试题及答案
- 行政法学与其他学科融合试题及答案
- (高清版)DG∕TJ 08-7-2021 建筑工程交通设计及停车库(场)设置标准
- 无房无车离婚协议书
- 2025-2030年中国甲巯咪唑片行业市场现状供需分析及投资评估规划分析研究报告
- 史明清时期社会经济的发展课件++2024-2025学年统编版七年级历史下册
- 2025年安徽国控资产管理有限公司第二季度社会招聘5人笔试参考题库附带答案详解
- 2025年广东省广州市南沙区中考数学一模试卷
- DZ∕T 0450-2023 地质灾害监测数据通信技术要求(正式版)
- 2024年湖北省中考地理生物试卷(含答案)
- 人教版五年级数学下册 7 折线统计图 第1课时 单式折线统计图(教学课件)
- 电气装置安装工程接地装置施工及验收规范——50169-2006
- 列车牵规正文
评论
0/150
提交评论