1 / 9
文档名称:

数值积分算法误差分析.doc

格式:doc   大小:112KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数值积分算法误差分析.doc

上传人:63229029 2017/5/14 文件大小:112 KB

下载得到文件列表

数值积分算法误差分析.doc

文档介绍

文档介绍:1 实验名称: 数值积分算法误差分析 1. 实验原理 1) 欧拉法原理在数学和计算机科学中, 欧拉方法( Euler method ) 命名自它的发明者莱昂哈德· 欧拉, 是一种一阶数值方法, 用以对给定初值的常微分方程( 即初值问题) 求解。它是一种解决常微分方程数值积分的最基本的一类显型方法(Explicit method) 。微分方程的本质特征是方程中含有导数项,数值解法的第一步就是设法消除其导数值, 这个过程称为离散化。实现离散化的基本途径是用向前差商来近似代替导数, 这就是欧拉算法实现的依据。欧拉(Euler) 算法是数值求解中最基本、最简单的方法,但其求解精度较低, 一般不在工程中单独进行运算。所谓数值求解, 就是求问题的解 y(x) 在一系列点上的值 y(xi) 的近似值 yi 。对于常微分方程: 0)( ],[ ),,(yay baxyxfdx dy???可以将区间[a,b] 分成 n 段,那么方程在第 x i 点有 y '(x i)= f(x i,y(x i )) , 再用向前差商近似代替导数则为: ,在这里, h 是步长,即相邻两个结点间的距离。因此可以根据 xi 点和 yi 点的数值计算出 y i +1 来: , i=0,1,2,L 这就是欧拉格式,若初值 y i+1 是已知的,则可依据上式逐步算出数值解 y 1,y 2 ,L。 1) 龙哥库塔法原理数值分析中,龙格-库塔法( Runge-Kutta )是用于模拟常微分方程的解的重要的一类隐式或显式迭代法。这些技术由数学家卡尔· 龙格和马丁· 威尔海姆· 库塔于 1900 年左右发明。龙格库塔法的家族中的一个成员如此常用,以至于经常被称为“ RK4 ”或者就是“龙格库塔法”。该方法主要是在已知方程导数和初值信息,利用计算机仿真时应用,省去求解微分方程的复杂过程。令初值问题表述如下。则,对于该问题的 RK4 由如下方程给出: 其中这样,下一个值(y n +1) 由现在的值(y n) 加上时间间隔(h) 和一个估算的斜率的乘积决定。该斜率是以下斜率的加权平均: ?k 1 是时间段开始时的斜率; ?k 2 是时间段中点的斜率,通过欧拉法采用斜率 k 1 来决定 y在点 t n+h /2 的值; ?k 3 也是中点的斜率,但是这次采用斜率 k 2 决定 y 值; ?k 4 是时间段终点的斜率,其 y 值用 k 3 决定。当四个斜率取平均时,中点的斜率有更大的权值: RK4 法是四阶方法,也就是说每步的误差是 h 5阶,而总积累误差为 h 4 阶。 2 实验方案 1) 目标方程为对该方程进行分析可知,该方程一阶微分方程,为 y对t 的微分。 2) 子函数程序: 文件 function dy= subf(t,y) dy= (1-t)*y; 3) 目标方程解析解>>H= dsolve('Dy=(1-t)*y','y(0)=1','t') ????????1)0( )1(y ytdt dy 得到: H= exp(1)^(1/2)/exp((t - 1)^2/2) 3. 实验程序 1) 欧拉法仿真脚本程序 c lear % 欧拉法 h= ; tN= 10; t= 0:h:tN; N= length(t); y(1) = 1; j= 1; for j= 1:N dataY(j)