数值积分算法误差分析

上传人:hs****ma 文档编号:512881569 上传时间:2023-12-03 格式:DOCX 页数:11 大小:203.63KB
返回 下载 相关 举报
数值积分算法误差分析_第1页
第1页 / 共11页
数值积分算法误差分析_第2页
第2页 / 共11页
数值积分算法误差分析_第3页
第3页 / 共11页
数值积分算法误差分析_第4页
第4页 / 共11页
数值积分算法误差分析_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《数值积分算法误差分析》由会员分享,可在线阅读,更多相关《数值积分算法误差分析(11页珍藏版)》请在金锄头文库上搜索。

1、实验名称:数值积分算法误差分析1.实验原理1) 欧拉法原理在数学和计算机科学中,欧拉方法(Euler method)命名自它的发明 者莱昂哈德欧拉,是一种一阶数值方法,用以对给定初值的常 微分方 程(即初值问题)求解。它是一种解决常微分方程数值积分的最基本的一 类显型方法(Explicit method) o微分方程的本质特征是方程中含有导数项,数值解法的第一步就 是设法消除其导数值,这个过程称为离散化。实现离散化的基本途径是 用向前差商来近似代替导数,这就是欧拉算法实现的依据。欧拉(Euler) 算法是数值求解中最基本、最简单的方法,但其求解精度较低,一般不 在工程中单独进行运算。所谓数值求

2、解,就是求问题的解y(x)在一系列 点上的值y(xi)的近似值yi。对于常微分方程:J =f (x,y),x a,bdxy(a) = yO可以将区间a,b分成n段,那么方程在第*点有y( *)= f(X,y(xJ),再用向前差商近似代替导数则为:(血叮皿)阳乂田)h,在这里,h是步长,即相邻两个结点间的距离。因此可以根据xi点和yi点的数值计算出y+1 来:洪门一,九亍93沁二,1,2 这就是欧拉格式,若初值y +1是已知的,则可依据上式逐步算出数值解中,y2 o1)龙哥库塔法原理数值分析中,龙格一库塔法(Runge-Kutta)是用于模拟常微分 方程 的解的重要的一类隐式或显式迭代法。这些技

3、术由数学家卡尔龙格和 马丁威尔海姆库塔于1900年左右发明。龙格库塔法的家族中的一个成员如此常用,以至于经常被称为“ RK4或者就是“龙格库塔法”。该方法主要是在已知方程导数和初 值信息,利用计算机仿真时应用,省去求解微分方程的复杂过程。令初值问题表述如下。y = /), y(to) = yo则,对于该问题的RK曲如下方程给出:hVn-l = Vn +言古局I42鬲+如其中A1 =j (bl i Urt + gkj血 3 = f n + , Un I 舄)呛=广(tn + k伽+ h如这样,下一个值(yQ由现在的值(yn)加上时间间隔(h)和一个估算的 斜率的乘积决定。该斜率是以下斜率的加权平

4、均:.k是时间段开始时的斜率; i.k2是时间段中点的斜率,通过欧拉法采用斜率*来决定V在点tn + h/2 的值;k3也是中点的斜率,但是这次采用斜率kJ夬定y值;.k4是时间段终点的斜率,其y值用k3决定。当四个斜率取平均时,中点的斜率有更大的权值:kj+ 2A2 + 2&3 + 氐 4 slope =.RK4法是四阶方法,也就是说每步的误差是h5阶,而总积累误差为h4 阶。2实验方案1) 目标方程为dy 七yy(0) = 1对该方程进行分析可知,该方程一阶微分方程,为y对t的微分2) 子函数程序:subf.m 文件 fun cti on dy = subf(t,y) dy = (1-t)

5、*y;3) 目标方程解析解 H = dsolve(Dy=(1-t)*y,y(0)=1,t)得到:H 二 exp(1)Jk(1/2)/exp(t - 1)八 2/2)3.实验程序1)欧拉法仿真脚本程序clear%欧拉法 h = 0.1;tN = 10;t = 0:h:tN;N = length(t);y(i) = i;j = i;for j = 1:NdataY(j) = y(1);yn = y+h*subf(t(j),y);y = yn;end%解析解法ezplot( exp(1)A(1/2)/exp(t - 1)a2/2),0 10)hold onplot(t,dataY, r+);lege

6、nd(解析解法,欧拉法)2)龙哥库塔法仿真脚本程序clear%龙哥库塔h = 0.1; tN =法0;t = 0:h:tN;N = length(t); y(1) = 1;j = 1;forj = 1:NdataY(j) = y(1);K1 = subf(t(j),y);K2 = subf(t(j)+h/2,y+1/2*h*K1);K3 = subf(t(j)+h/2,y+1/2*h*K2);K4 = subf(t(j)+h,y+h*K3);yn = y+h/6*(K1 + 2*K2 + 2*K3 +K4); y =yn;end%解析解法ezplot( exp(1)Jl(1/2)/exp(t

7、- 1)八 2/2),0 10)hold onplot(t,dataY, ro);legend(解析解法,四阶龙哥库塔法)5.仿真结果欧拉法步长h = 0.1exp(1)i/2/expt ”俨尼012345678910(2)欧拉法步长h = 0.01(3)四阶龙哥库塔法 步长h = 0.1exp( 1)v2/exp(t-1A/2)012345673310(4)四阶龙哥库塔法 步长h = 0.01解析解法+ 四阶龙哥库塔法-012345676910exp(1)i/2/exp(t - 1)2/2)解析解法二I阶龙哥库塔法(5)四阶龙哥库塔法步长h = 0.5解析解法四阶龙哥庠塔法-5.实验结果分析由仿真结果可知欧拉法取不同步长,其误差有较大差异,步长 越小,误差越少,但计算量也将越大。因此使用时应选取合适的步长。 四阶龙哥库塔法取不同步长,仿真曲线不变误差不变,由此可知,四 阶龙哥库塔法精度与步长无关,但由步长为h = 0.5在后面的数据有 很大的偏离,因此步长不宜去太大。欧拉法与四阶龙格库塔法相比 较,前者精度受步长影响较大,后者较小。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

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