ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:19.51KB ,
资源ID:11138943      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11138943.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数值分析龙格库塔.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数值分析龙格库塔.docx

1、数值分析龙格库塔、尸 、 刖言随着计算机的迅速发展和广泛应用,在众多领域内,我们越来越认识到科学 计算是科学研究的重要方法。数值计算方法是一种利用计算机解决数学问题的数 值近似解方法,特别是无法用人工过计算器计算的数学冋题。数值计算方法常用 于矩阵高次代数方程矩阵特征值与特征向量的数值解法,插值法,线性方程组迭 代法,函数逼近,数值积分与微分,常微分方程初值问题数值解等。作为数学与计算机之间的一条通道,数值计算的应用范围已十分广泛,作为 用计算机解决实际问题的纽带,数值算法在求解线性方程组,曲线拟合、数值积 分、数值微分,迭代方法、插值法、拟合法、最小二乘法等应用广泛。数值计算方法是和计算机紧

2、密相连的,现代计算机的出现为大规模的数值计 算创造了条件,集中而系统的研究适用于计算机的数值方法是十分必要的。数值 计算方法是在数值计算实践和理论分析的基础上发展起来的。通过数值计算方法与实验将有助于我们理解和掌握数值计算方法基本理论和 相关软件的掌握,熟练求解一些数学模和运算。并提高我们的编程能力来解决实 际问题。摘要对于本次计算方法与实习的实践环节,我们采用改进欧拉( Euler )方法对给定的数据进行分析,改进的欧拉(Euler)方法是解决常微分方程初值问题常用的 数值解法,本文在简要介绍改进欧拉(Euler)方法及四阶龙格库塔公式的基础上, 通过编写 C 语言程序实现两种数值算法。通过

3、本次实践环节,我们很好的了解了 常微分方程数值解法的原理。出色的完成了本次课程设计。关键词:欧拉方法;四阶龙格-库塔;C语言;数值分析前言 - 0 -摘要 - 1 -实验设计内容 - 3 -一实验目的 - 3 -二实验内容 - 3 -三实验算法 - 3 -四实验程序 - 4 -改进欧拉方法 - 4 -四阶龙格库塔方法 - 5 -实验心得 - 7 -实验设计内容1.实验目的1)熟悉求解常微分方程初值问题的有关方法和理论,主要是改进欧拉法、四 阶龙格-库塔法;2)会编制上述方法的计算程序,包括求解微分方程组的计算程序。2.实验内容分别用改进的欧拉方法与四阶龙格库塔公式取 (h=0.1)求解些列微分

4、方程初值问题:y = x2 y2y(0) =03.实验算法解一阶常微分方程初值问题y = f (x, y)a 兰 x 兰 b、y(Xo) = yo将区间a,b作n等分,取步长h = 。n欧拉公式为yi 1 = yhf (Xi, yj梯形公式为hyi yi -f (xi,yi) - f 区y:2改进欧拉法,采用公式yi i =yi hf 以,yi)彳 + h . -yi i =yi f 区,yj f 以 1jL 2或表yp = yi +hf (Xi ,yTc +hf (x+ yp)1 丄yi + = (yp 十yjL 2y = f (x, y)a M x 三 b、y(Xo) = y常用的是四阶龙

5、格-库塔公式hyi + = yi 十一(ki +2k2 +2k3 十 k4 )6ki = f (X , yi)h h“ k2 = f (Xi + , yi +-kj2 2h hk3 = f (Xi + , yi +k2)2 2k f (Xi h, yi - hk3)上各节点处的近y0,float xn ,i nt取步长为h,由初值y出发,可得未知函数y(x)在区间a,b 似值。4.实验程序改进欧拉方法1.改进欧拉方法的程序#i nclude#define N 20void ModEuler(float(*f)(float,float),float x0,floatn)int i;float y

6、p,yc,x=xO,y=yO,h=(x n-xO)/n;prin tf(x0=%fty0=%fn,x,y);for(i=1;i350000y7J=0.014448ek(8 =0.400000VE8J-0.021526Let? 1=0.4503081F(? 1=0.830622y(10=B.041979Lc(ll 0.550000055931dc12 J =0.630000y12 0-072698Lc(13=0.6S000RyC131-0.892599700000y1410.115952pc 15 J =0_ 750000y151-0-14309900000y16=0.174415X叽 8500

7、00SFI17J-0.210319lx18 900000(18-0-251283bc(19 =0.90000y 191-029794?2OJ=1.0000(30201-0.358646 nr j *四阶龙格库塔方法1 龙格库塔程序x,float y),float afloat b,float#i ncludevoid Ru nge_Kutta(float(*f)(float y0,i nt N)float x=a,y=y0,K1,K2,K3,K4; float h=(b-a)/N;int i;prin tf(x0=%fty0=%fn,x,y); for(i=1;i=N;i+)K仁(*f)(x,

8、y);K2=(*f)(x+h/2,y+h*K1/2);K3=(*f)(x+h/2,y+h*K2/2); K4=(*f)(x+h,y+h*K3);y=y+h*(K1+2*K2+2*K3+K4)/6; x=a+i*h;prin tf(x%d=%fty%d=%fn,i,x,i,y);float f(float x,float y)return x*x+y*y;void mai n()float a=0,b=1,y0=0;Run ge_Kutta(f,a,b,y0,20);getch();2.龙格库塔结果&U$er$tenavQDesktopCVf?SSDebug4.exe 回 | Eg |K【0 】

9、=呂 000000y0J-8.O06O0OxLI1=0.050000yLli=0_B00042xC2J=0.13900023=0.600333x31=0.150000y3)0.001125x4J=0.200000y40_002667x51=0.25930053=0-005209k61=0.3008009 C6 J =0.609003x73=0.356000yL73=0_014302400000y8J=B-0213&9xL9J0.450800y?J=0.030434x101=0.500000yL10J=0.041791111=8.550000Vl.S00800yZ01=0.350232实验心得课

10、程设计是培养学生综合运用所学知识 ,发现, 提出, 分析和解决实际问题 ,锻 炼实践能力的重要环节 , 是对学生实际工作能力的具体训练和考察过程 .随着科学 技术发展的日新日异, 程序软件已经成为当今计算机应用中空前活跃的领域, 在 生活领域中的应用可以说得是无处不在。因此作为二十一世纪的大学来说掌握简 单的软件的开发技术是十分重要的。回顾起此次数值分析的课程设计,至今我仍感慨颇多,的确,从理论到 实践,在整整一个星期的日子里,可以说得是苦多于甜,但是可以学到很多很多 的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所 没有学到过的知识。通过这次课程设计使我懂得了理论与实际

11、相结合是很重要的, 只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论 中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的 能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难 免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以 前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一 定把以前所学过的知识重新温故。我得到了很多同学的帮助。我想没有他们我可能都要放弃了,因为我本人对 数值分析的算法本来就不是很熟悉,学的东西也不能很好的灵活应用,理论联系 不了实际。以前的汇编语言没学好,一开始的程序这块儿

12、就要令我抓狂了。通过这段时间的学习,我认为要学好 C语言编程这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能增强和巩固我的知识。特别是作 为大学生,更要注重实践这一环节,只有这样我们才能成为合格的计算机人材。 整个过程不断的调试,在调用子程序的时候遇到了部分问题,最后幸好都解 决了。通过这次课程设计也稳固了一些已经学习的数值分析的算法,同时了解了 一些以前没有接触的数值分析的算法。总之,这次的课程设计受益匪浅。参考文献12000王高熊,周之铭,朱思铭,等.数值计算原理 M. 北京:清华大学出版社,2李庆扬,王能超,易大义,数值分析 M, 北京:清华大学出版社, 20013李庆扬,数值计算原理 M. 北京:清华大学出版社 .20004孙志忠,吴宏伟,计算方法与实习,东南大学出版社

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1