好文档 - 专业文书写作范文服务资料分享网站

微分方程数值解课程设计第二组 

天下 分享 时间: 加入收藏 我要投稿 点赞

四川理工学院数学系 课程设计任务书

专业: 信息与计算科学

班级: 信息与计算科学2012级1班

课程名称: 微分方程数值解课程设计

学生姓名: 陈古月 陈镜 李明轩 赵树微 黄冲冲

发题时间: 2015 年 4 月 27 日

一、课题名称

显式Euler方法和改进Euler方法的精度。 二、课题条件 参考文献:

[1].张平文,李铁军. 数值分析. 北京:北京大学出版社,2009. [2].徐瑞,黄兆东,阎凤玉.Matlab 科学与工程分析.北京:科学出版社,2007.

[3].曾金平,杨余飞,关力. 微分方程数值解. 北京:科学出版社,2011. 三、设计任务

分别用显式Euler方法和改进Euler方法求解下列微分方程:

22??y?t??y?t??sin??t???sin??t??1???y?0??1

t?0,50?yt?cos??t? 模拟区间为?。 上述方程的真解为??。参数?分别取为??0.8,2,5,8, 步长分别取为

h??t,?t?t?t?t?t?t?t?t,,,,,,,248163264128256(其中?t?0.1)。

要求

画出每一个?参数、每一种步长情况下数值解和真解之间差的绝对值,

50??Err?yn?y?tn?,n?1,2,,N?其中N??h?; ?即

对于每一个参数?,列表说明显式Euler方法和改进Euler方法的阶

maxyn?y?tn?1?n?5/h?1maxyn?y?tn??h?1?n?5/???2?为1,即步长为h和h/2时的全局误差之比: ⑶、给出程序清单。必须说明程序中哪些是主程序,哪些是子程序;

程序中必须有详细的注释和参数说明;必须简明扼要地说明如何运行程序。

问题求解:

一, 工具:Matlab数学软件

二,分析:

用Euler公式y n+1= yn+h f(xn,yn)求数值解的方法成为Euler方法。

三,算法及求解过程 算法: 1. 2. 3.

输入函数f(x,y)、初值y0、自变量区间端点a,b步长h 计算节点数n和节点x k

用Euler公式y n+1= yn+h f(xn,yn) 求数值解

Euler方法程序

Clear[x,y,f]

f[x_,y_]= Input[\函数f(x,y)=\y0=Input[\初值y0 =\a=Input[\左端点a=\b=Input[\右端点b=\h=Input[\步长h=\n=(b-a)/h; For[i=0,i

y1=y0+h*f[xk,y0];

Print[\y0=y1]

程序中变量说明

f[x,y]: 存放函数f(x,y) y0: 存放初值y0及数值解 a:存放自变量区间左端点 b: 存放自变量区间右端点 n: 存放节点个数 h: 存放节点步长 xk:存放节点xi y1: 存放数值解

注:(1)语句Print[\是将数值解用6位有效数字显示出来,如果要显示n位数有效数字,可以将语句改为Print[\

(2)Mathematica中有求微分方程初值问题数值解的命令,形式为: NDSolve[ {y’[x]==f[x,y[x]],y[a]==y0}, y, {x, a, b}]

由NDSolve命令得到的解是以{{未知函数名->InterpolatingFunction[range, <>]}}的形式给出的,其中的

InterpolatingFunction[range, <>]是所求的插值函数表示的数值解, range就是所求数值解的自变量范围。

执行程序:

执行Euler方法程序后,在输入的窗口中按提示分别输入y-2x/y、1、0、1、0.1,每次输入后用鼠标点击窗口的“OK”按扭,计算机在屏幕上给出如下数值解结果。

y(0.1)=1.1 y(0.2)=1.19182 y(0.3)=1.27744 y(0.4)=1.35821 y(0.5)=1.43513

y(0.6)=1.50897 y(0.7)=1.58034 y(0.8)=1.64978 y(0.9)=1.71778 y(1.)=1.78477

本题的准确解为y(x)= (1 + 2 x)1/2,在一个坐标系中画出数值解与准确解的图形如下。

图中点图是数值解,曲线为准确解。从图中可以知道数值解与准确解比较接近,但还是有误差的。

由于Euler方法的计算精度不高,在实用中我们一般不使用此算法。 改进的Euler方法算法

1. 输入函数f(x,y)、初值y0、自变量区间端点a,b步长h 2.计算节点数n和节点x k 3.用改进的Euler公式求数值解

改进的Euler方法程序

微分方程数值解课程设计第二组 

四川理工学院数学系课程设计任务书专业:信息与计算科学班级:信息与计算科学2012级1班课程名称:微分方程数值解课程设计学生姓名:陈古月陈镜李明轩赵树微黄冲冲
推荐度:
点击下载文档文档为doc格式
6vigq4e4v26j6mx9r6tt
领取福利

微信扫码领取福利

微信扫码分享