四阶龙格—库塔算法及其C-语言程序设计论文.docVIP

四阶龙格—库塔算法及其C-语言程序设计论文.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
包头师范学院 2012 -2013学年第一学期期末考试课试卷 考试科目 计算物理 成绩 院系 物理学院 专业 10 级 本一 姓名 张艳有 任课教师签名: 院系负责人签名: 四阶龙格—库塔算法及C 语言程序设计 物理科学与技术学院 10级物理系一班 1009320036 张艳有 摘 要 本文叙述了四阶龙格—库塔算法的C 语言实现过程、数据存储及其结果并以具体实例说明了这一过程。 关键词 龙格—库塔算法 数据存储 例题 程序设计 计算结果 引言 在科学技术中常常需要求解常微分方程的定解问题, 这就需要一种合适的数值解法求出常微分方程的解。在诸多数值算法中龙格—库塔算法具有较高的精确度, 是一种优先选取的算法。 具体内容 一、四阶龙格—库塔算法简述 从常微分方程数值解法的几何意义看,欧拉方法取一点处的斜率作为平均斜率,因此欧拉方法近似公式为 向后的欧拉方法则采用点处的斜率作为平均斜率,即 所以这两种方法也称作矩形法。改进的欧拉方法则取点处和点处斜率 和的平均值作为平均斜率,即 因此改进的欧拉方法又称为梯形方法。可以预见,若去多点处斜率的加权平均值作为平均斜率,误差会更小,这就是龙格-库塔方法。 最常用的是四阶龙格库卡近似计算公式,即: 式中 其中:   表示计算过程中选取的步长; K1 表示点处的斜率;    K2 表示利用K1 求得的 点处的斜率;    K3 表示利用K2 求得的点处的斜率;    K4 表示利用K3 求得的 点处的斜率; 二、使用标准四阶龙格——库塔法求解初值问题实例 1、用标准四阶龙格——库塔法求解  ????????  解:取步长, 2、计算所用程序如下所示 #include stdio.h #include conio.h float func(float x,float y) { return(2*x*y); } float runge_kutta(float x0,float xn,float y0,int n) { float x,y,y1,y2,h,xh; float d1,d2,d3,d4; int i; x=x0; y=y0; h=(xn-x0)/n; for(i=1;i=n;i++) { xh=x+h/2; d1=func(x,y); d2=func(xh,y+h*d1/2.0); d3=func(xh,y+h*d2/2.0); d4=func(xh,y+h*d3); y=y+h*(d1+2*d2+2*d3+d4)/6.0; x=x0+i*h; } return(y); } void main() { float x0,xn,y0,e; int n; printf(\ninput n:\n); scanf(%d,n); printf(input x0,xn:\n); scanf(%f%f,x0,xn); printf(input y0:\n); scanf(%f,y0); e=runge_kutta(x0,xn,y0,n); printf(y(%f)=%6.6f,y0,e); } 3、部分计算结果如图所示 三、 结束语 利用C 语言可方便地实现四阶龙格—库塔算法, 这对于科学技术中所遇到的常微分方程的求解具有重要意义。 参考文献: 物理学与计算物理,物理学与计算机翻译组译,北京:科学出版社,1986 计算机数值计算方法,计九三译,北京清华大学出版社,1987

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档