数值计算 四阶RungeKutta方法.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值计算 四阶RungeKutta方法

湖南工业大学 课 程 设 计 资 料 袋 理 学院() 2013 学年第 学期 课程名称 指导教师 副教授 学生姓名 专业班级 学生姓名 专业班级 学生姓名 专业班级 题 目 成 绩 2013 年 月日~ 年 月 日 序号 材 料 名 称 备 注 1 课程设计任务书 2 课程设计说明书 3 张 课程设计任务书 — 2013 学年第 学期 理 学院(系、部) 信息与计算科学 专业 1002 班级 课程名称: 设计题目: 完成期限:自 年月 日至 年 月 日共 周 指导教师(签字): 年 月 日主任(签字): 年 月 日 设计说明书 起止日期: 年 月 日 至 年 月 日 学生姓名 班级 成绩 指导教师(签字) 年月日 的数值解,并利用最后绘制的图形直观分析近似解与准确解之间的比较。 三、方法原理及实现 龙格-库塔(Runge-Kutta)方法是一种在工程上应用广泛的高精度单步算法。由于此算法精度高,采取措施对误差进行抑制,所以其实现原理也较复杂。该算法是构建在数学支持的基础之上的。龙格库塔方法的理论基础来源于泰勒公式和使用斜率近似表达微分,它在积分区间多预计算出几个点的斜率,然后进行加权平均,用做下一点的依据,从而构造出了精度更高的数值积分计算方法。如果预先求两个点的斜率就是二阶龙格库塔法,如果预先取四个点就是四阶龙格库塔法。 经典的方法是一个四阶的方法,它的计算公式是: 四、计算公式或算法 输入(编写或调用计算的函数文件), 3.For End 4.输出 五、Matlab 程序 x=[a:h:b]; y(1)=y1; n=(b-a)/h+1; for i=2:n fk1=f(x(i-1),y(i-1)); fk2=f(x(i-1)+h/2,y(i-1)+fk1*h/2); fk3=f(x(i-1)+h/2,y(i-1)+fk2*h/2); fk4=f(x(i-1)+h,y(i-1)+fk3*h); y(i)=y(i-1)+h*(fk1+2*fk2+2*fk3+fk4)/6; end y 六、测试数据及结果 用调试好的程序解决如下问题: 应用经典的四阶Runge-Kutta方法解初值问题 取 步骤一:编写函数具体程序. 1.求解解析解程序: dsolve(Dy=(y^2+y)/t,y(1)=-2,t) 结果: 2.综合编写程序如下: a=1; b=3; h=0.5; y(1)=-2; x(1)=a; n=(b-a)/h+1; yy(1)=-2; for i=2:n k1=(y(i-1)^2+y(i-1))/x(i-1); k2=((y(i-1)+h*k1/2)^2+(y(i-1)+h*k1/2))/(x(i-1)+h/2); k3=((y(i-1)+h*k2/2)^2+(y(i-1)+h*k2/2))/(x(i-1)+h/2); k4=((y(i-1)+h*k3)^2+(y(i-1)+h*k3))/(x(i-1)+h); y(i)=y(i-1)+h*(k1+2*k2+2*k3+k4)/6;% 四阶Runge-Kutta公式解 x(i)=x(i-1)+h; %有解区间的值 yy(i)=-x(i)/(x(i)-1/2); %解析解 s(i)=abs(y(i)-yy(i)); %误差项 end [x y yy s] (2)步骤二:执行上述Runge-Kutta算法,计算结果为 1.0000 1.5000 2.0000 2.5000 3.0000 -2.0000 -1.4954 -1.3306 -1.2480 -1.1985 -2.0000 -1.5000 -1.333

文档评论(0)

gz2018gz + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档