龙格—库塔实验报告_第1页
龙格—库塔实验报告_第2页
龙格—库塔实验报告_第3页
龙格—库塔实验报告_第4页
龙格—库塔实验报告_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上龙格库塔法解常微分方程实验报告一、实验题目求解初值问题二、实验引言1、实验目的进一步理解龙格库塔方法的设计思路和算法流程,培养动手实践能力和分析能力。2、实验意义 龙格库塔方法的推导基于泰勒展开方法,因而它要求的解具有较好的光滑性质。反之,如果解得光滑性差,那么,使用四阶龙格库塔法方法求得的数值解,其精度可能反而不如梯形方法。实际计算中,应当针对问题的具体特点选择合适的算法。三、算法设计 1. 基本思想 由Lagrange微分中值定理,记,则得到这样,给出的一种算法,就得到求解微分方程初值问题的一种计算公式。四阶龙格_库塔法是用,和的加权平均值来近似。最经典的四阶龙格

2、库塔公式为:四阶龙格库塔法的误差估计局部截断误差为。2.算法流程图计算N=fix(b-x0)/h)n=1x0+h=>x1f(x0,y0)=>K1f(x0+h/2,y0+h/2*K1)=>K2f(x0+h/2,y0+h/2*K2)=>K3f(x0+h,y0+h*K3)=>K4y0+h/6*(K1+2*K2+2*K3+K4)=>y1输出x1,y1n=n+1x1=>x0y1=>y0n=N ?结束开始读入x0,y0,b,h 四、程序设计program longgekutaimplicit nonereal,parameter:b=1real:h=0.2i

3、nteger:nreal:x,K1,K2,K3,K4,yreal,external:fx=0y=1open (unit=10,file='1.txt')do while(x<=b)K1=f(x,y)K2=f(x+h/2,y+K1*h/2)K3=f(x+h/2,y+K2*h/2)K4=F(x+h,y+K3*h)y=y+(k1+2*K2+2*K3+K4)*h/6x=x+hwrite(10,*) x,yend doendfunction f(x,y)implicit nonereal:f,x,yf=y-2*x/yend function五、结果及讨论1.实验结果 0. 1. 0

4、. 1. 0. 1. 0. 1. 1. 1. 1. 1. 六、算法评价1、本次实验实现了常微分方程初值问题数值解法中的四阶龙格库塔法2、对欧拉法和龙格库塔法进行比较:在相同步长的情况下,欧拉法每步只计算一个函数值,四阶龙格库塔法每步需计算四个函数值,就是说,四阶龙格库塔法的计算量差不多是欧拉法的四倍,为了比较它们的计算精度,可以将欧拉法的步长取为,将四阶龙格库塔法的步长取为。这样,如果用二种方法求解同一初值问题,则它们的计算量相当。在计算量相当的条件下,比较它们的计算结果,就能够看出它们的精度差异。3、比较了其数值解与精确解之间的误差。可以发现四阶龙格库塔法都非常接近精确解。附:向前欧拉法程序program xiangqianoulaimplicit nonereal,parameter:a=0,b=1integer,parameter:k=10real:h=0.1,y0=1integer:nreal:x,yy=y0open (unit=10,file='1.txt')do n=0,k-1 x=a+n*h y=y+h*(y-2*x/y)write(10,*) x+h,yend doend

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论