欧拉法与龙格库塔法比较分析

上传人:re****.1 文档编号:499489284 上传时间:2023-02-20 格式:DOCX 页数:6 大小:67.81KB
返回 下载 相关 举报
欧拉法与龙格库塔法比较分析_第1页
第1页 / 共6页
欧拉法与龙格库塔法比较分析_第2页
第2页 / 共6页
欧拉法与龙格库塔法比较分析_第3页
第3页 / 共6页
欧拉法与龙格库塔法比较分析_第4页
第4页 / 共6页
欧拉法与龙格库塔法比较分析_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《欧拉法与龙格库塔法比较分析》由会员分享,可在线阅读,更多相关《欧拉法与龙格库塔法比较分析(6页珍藏版)》请在金锄头文库上搜索。

1、解微分方程的欧拉法,龙格-库塔法简单实例比较欧拉方法(Euler method)用以对给定初值的常微分方程(即初值问题)求解分为前 EULER 法、后退 EULER 法、改进的 EULER 法。缺点:欧拉法简单地取切线的端点作为下一步的起点进行计算,当步数增多时,误差会 因积累而越来越大。因此欧拉格式一般不用于实际计算。改进欧拉格式(向前欧拉公式):为提高精度,需要在欧拉格式的基础上进行改进。采用区间两端的斜率的平均值 作为直线方程的斜率。改进欧拉法的精度为二阶。算法: 微分方程的本质特征是方程中含有导数项,数值解法的第一步就是设法消除其导 数值。对于常微分方程:dx = f (x,y) X

2、G a, b可以将区间a,b分成n段,那么方程在第x点有y (x ) = f (x , y(x ),再用 i i i i向前差商近似代替导数则为:(y(t + * 一 y(弓)二 f (x , y(x ) hi i在这里,h是步长,即相邻两个结点间的距离。因此可以根据x点和y的数ii值计算出 y 来:i+1y = y + hXf (x ,y ) i = 0,l,2,.Li+1ii i这就是向前欧拉公式。改进的欧拉公式将向前欧拉公式中的导数f (x , y )改为微元两端导数的平均,即上式便是梯形的ii欧拉公式。可见,上式是隐式格式,需要迭代求解。为了便于求解,使用改进的欧拉公式:数值分析中,龙

3、格一库塔法(Runge-Kutta)是用于模拟常微分方程的解的重要 的一类隐式或显式迭代法。实际上,龙格-库塔法是欧拉方法的一种推广,向前 欧拉公式将导数项简单取为 f(x ,y ),而改进的欧拉公式将导数项取为两端导数 nn的平均。龙格-库塔方法的基本思想:在区间x ,x 内多取几个点,将他们的斜率加权平均,作为导数的近似。 n n +1龙格库塔法的家族中的一个成员如此常用,以至于经常被称为“ RK4 ”或者就是 “龙格库塔法”。令初值问题表述如下。y = f (t, y) y()=y0则,对于该问题的 RK4 由如下方程给出:yn+1h=y + (k + 2k + 2kn 6123其中=f

4、 (tnhh+ 2, yn + 2 k1)k3 二 f (tnk = f (t4n+ h , y + hk )n3这样,下一个值 y 由现在的值 y 加上时间间隔 h 和一个估算的斜率的乘积决n+1n定。该斜率是以下斜率的加权平均:k 是时间段开始时的斜率;1hk是时间段中点的斜率,通过欧拉法采用斜率k来决定y在点t + -的21n 2值;k也是中点的斜率,但是这次米用斜率k决定y值;32k是时间段终点的斜率,其y值用k决定。43当四个斜率取平均时,中点的斜率有更大的权值:k + 2 k + 2k + kslope 12346RK4法是四阶方法,也就是说每步的误差是h5阶,而总积累误差为h4阶

5、。注意上述公式对于标量或者向量函数( y 可以是向量)都适用。例子 :h 0.2; x 0:h:4下面给出了数值求解该微分方程的简单程序。其中y1,y2, y3, y4分别为向前欧拉公式,改进的欧拉公式,4级4阶龙格-库塔 公式及精确解。 h=0. 2:Cl: h: 4 :yl=zexos;size(kJ);yl (0 = 1 :y2=3&ros(size);y2(0 = l ;y3=2eros(sise(k);y3(ll ;for i 1=2:length.xyl il)=yL (i 1 -1.)十h岌(yl il-1) -2*x 1 il-1)/yl (i 11): k 1 =y2 11

6、-1 j-2*k 1 il-1 /y2 11 -1;k2=y2(il-lh:kl-2*K(il)/(y2(il-l)+h#kC :y2(il)=y2(il-l)+h (kl+k2)/2;kl=y2 il-l -2 11-1 Vy2 (11-1):Ii2=y2 (il-l)+hwkl/2-2# (z(i 1-1)+h/2)/ (y2(il-l)+hl/2); k3=y2(il-lHhk2/2-2(K;il-l)+h/2)/(y2(il-l)+hk2/2): kd=y2 (il-l)+h*:k3-2*(x (ll-l)-bh)/ (y2 (il-lh*k3 : y3(ily3(il-L)+ (kl+2*k2+2*k3+k 4)*h/6;endy4=sqrt (_1+2*k):Splot (玄yljj y2,愛y3j 拓 yd)Siegend yl / y2J, y3J、1 y4J )plot (Ej yd-y 1 j k? yi-y2j z, yd-y3)legend C yl j ; j r y3J )结果分析: 图1中显示在x 35时,计算值与精确 值得差别将越来越大。从图2中可以清楚的看到这一结果,其中y Ty -y,141y2y4 - y2Ytv4f988JQod瑞刷 http:/

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

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

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