




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算方法课程设计报告学生姓名:吴志强学 号:0909290124学 院:理学院班 级:信计091班题 目:拉格朗日插值及牛顿插值的通用程序指导教师: 李鹏松 职称: 教 授 朱秀丽 讲 师 2011年 12 月 30 日一、摘要1二、应用计算方法的基本原理21.拉格朗日插值法21.1算法描述21.2插值余项与误差估计22.牛顿插值法22.1算法描述2三、例题的计算结果及误差分析3四、总结及心得体会4五、参考文献7六、附录程序7一、摘要本设计报告主要围绕拉格朗日插值及牛顿插值多项式展开。首先分别给出了拉格朗日和牛顿插值的基本原理。拉格朗日插值是在给出线性插值基函数的基础上得出插值公式: 利用插值基函数很容易求得拉格朗日插值多项式,公式结构紧凑,理论分析甚为方便,但是当差值节点增减时,全部差值基函数均要随之改变,给实际计算带来不便,而牛顿插值法很好的解决了这个问题。 由基本原理给出程序的算法描述并由此编写出通用程序。给出实例拉格朗日插值节点u=0 1 4 9 16 25 36 49 64 ,带入程序得出结果:;牛顿插值节点x=0.2 0.4 0.6 0.8 1.0,y=0.98,0.92,0.81,0.64,0.38;代入程序得出结果:通过所得出的插值多项式,代入具体数值,分别求出两种插值多项式的误差估计。并估算出误差分别为:则拉格朗日插值法绝对误差为0.0092;牛顿插值绝对误差0.000052。通过误差分析我们可以清楚的看到两种插值多项式的误差是可以接受的。最后我们对本次课程设计进行了总结,总结了程序的优缺点并对本次试验过程中遇到的问题及困难进行了解答,此外我们还写出了对本次课程设计的心得体会。 二、应用计算方法的基本原理1. 拉格朗日插值法1.1算法描述拉格朗日插值多项式是一种最常见的多项式插值法,也是一种最常用的逼近工具。设是定义在区间a,b上的函数,又设,. 是a,b上的n个互不相同的点,可以先构造基函数(i=0,1,2.n)如下: (1)且有 (2)显然 (3)满足(3)的插值多项式可表示为 (4)由的定义知,我们称为拉格朗日插值多项式。同时引入记号,我们容易求得,于是我们可将公式(4)改写为。1.2插值余项与误差估计若在a,b上连续,在(a,b)内存在,节点,是满足(3)的插值多项式,对任何,插余项,余项表达式只有在f(x)高阶导数存在时才能应用,在(a,b)具体位置不能具体给出,如果我们能求出,那么插值多项式的截断误差限为 2.牛顿插值法2.1算法描述 利用插值基函数很容易求得拉格朗日插值多项式,公式结构紧凑,理论分析甚为方便,但是当差值节点增减时,全部差值基函数均要随之改变,给实际计算带来不便,而牛顿插值法很好的解决了这个问题。在这里我们先引入差商的概念:设有函数,为一系列互不相等的点,我们称为k阶差商这时我们可以求得其中为牛顿插值的余项。其中为牛顿均差插值多项式,为插值余项。三、例题的计算结果及误差分析一拉格朗日插值法1.下列数据点的插值x1.511283056101132y67.82.53.27.66.37.5试用拉格朗日插值法分别求出插值多项式结果:图像如下:图一 例1拉格朗日插值多项式的图像误差分析:由所求得的插值多项式例:将x=1.5代入,求得L(4)=6.199968 精确解y(4)=6.2。则绝对误差为0.000012,相对误差为0.00016。一牛顿插值法1.已知函数在下列各点的值为x1.02345y0.980.920.810.640.38结果为:图像:图二 例2牛顿插值多项式图像误差为:0.00025四、总结及心得体会总结:这次试验使我进一步认识到算法的重要性,为进一步掌握编程能力提供了一次很好的锻炼机会。在学习其他语言的基础上,进一步加强编程能力。(1)进一步熟悉了matlab编译环境。(2)完成一个程序的要经过设计,输入 ,编译 ,运行。如果出错,找出错误进行修改,然后再编译,编译成功后,再次看运行结果是否正确,如果结果不正确,则再重复以上步骤。(3)编写完程序后要有必要的注释,并且给出流程图,一个好的程序不但自己能够看懂应用,应该让其他人也能够看懂(4)算法分析一定要明确,算法是程序的灵魂。(5)一定要边调试边运行,在其中发现问题,从而解决相应的问题。(6)团结协作。(7)分块运行,一定要有层次与逻辑。(8)理论与实践结合的重要性。(9)不会的东西一定要请教老师和同学。心得体会:程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础通过这次课程设计,本人在多方面都有所提高。通过这次课程设计,综合运用本专业所学课程的理论和生产实际知识进行一次设计工作的实际训练从而培养和提高学生独立工作能力,巩固与扩充了数据结构课程所学的内容。 为了程序的调试方便,以及清晰,我们以后要把每个功能尽可能都模块化,即利用调用函数;做完实验后,为了使运行结果清楚可现,我们后来自己对程序进行了优化,通过输入一些文字说明和行间距。本次实验不仅加深了我们对数据结构的理解而且也使我们巩固了对C语言掌握。在编写过程中,我们通过分部编写,将各部分融合等步骤最后完成实验,力求能够做到完美。通过此次实验我们意识到了自己的不足,以后我们会再接再厉,继续完善自己。 通过对这一课题的设计和实现,我对matlab环境进行了深一步的了解,并逐渐开始熟练matlab环境的工作界面,以及对每一个快捷键的熟悉。并认识到,熟悉这些快捷键,极为便捷编写程序,但是还要更加熟悉。编程时要养成良好的风格,注意相同内容的缩进和对齐。这样做,可以使程序代码出错的情况下,可以快速并且便捷的查找到错误的行,利于很好的修改。通过这次编程我们深深的感受到对代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同人员之间的协作。善于总结,也是学习能力的一种体现,每次完成一个编程任务,完成一段代码,都应当有目的的跟踪该程序的应用状况,随时总结,找到自己的不足,这样所编写的程序才能逐步提高,生活就是这样,汗水预示着结果也见证着收获。劳动是人类生存生活永恒不变的话题。通过实际动手做,我们才真正领略到“艰苦奋斗”这一词的真正含义,我们想说,编程确实有些辛苦,但苦中也有乐,在这个团队的任务中,一起的工作可以让我们有说有笑,相互帮助,配合默契。对我们而言,知识上的收获重要,精神上的丰收是可喜的。挫折是一份财富,经历是一份拥有。这次实际操作必将成为我们人生旅途上一个非常美好的回忆! 回顾起此次课程设计,至今仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整一个月的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处, 对于此次课程设计我感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,在整整半个学期的日子里,学到的很多理论知识,在这次课程设计实习中更具体的体现了出来,在实践过程中,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学到的理论知识与实践相结合起来,从理论中得出结论,将结论辅助与理论,才能真正学到知识并写出有用的程序来为他人服务,更为社会服务,所以提高自己的实际动手能力和独立思考的能力是十分重要的。在设计的过程中遇到很多的问题,可以说得是困难重重,但在我们团队的共同努力下,在老师同学的大力帮助下取得了圆满的成功。在本次实践中,给我印象最为深刻的是在主函数与各函数调用编译过程中,刚开始的时候我的各个子程序都已经编辑成功,那么这最后的程序就将是我成功的关键。老天不会让我们太过顺利,合起来的程序怎么都运行不了,不停的出错再出错,似乎错误无穷无尽,总也更正不完,他在这最后的时刻给我设置的障碍,在考验着我们的耐心和能力,在这个问题的解决上。这是一个痛苦的过程,并且是一个快乐的结果。风雨过后会有彩虹。其实做了这么多回的课程设计,每回都差不多。调试过程是很痛苦的,每次听到那“嘟”听到后面总是令人崩溃的。但是听多了,最终可以运行的时候,海阔天空的感觉是很爽的。如果不经历那个痛苦的过程,是不会体会到到底有多快乐的。就像生活当中你一直在吃糖,你并不会觉得这糖有多甜,如果你之前吃苦涩的东西,再吃糖,会有很甜的感觉。后者就应该整个过程的形象的比喻了。我们设计的东西要符合实际情况才有生命力,才有应用价值。不然就是简单的一个程序,像一个没有水分的橙子,吃不了但是扔了又可惜。鸡肋食之无味,去之可惜。没有应用价值的东西设计出来也没有人买,难道自己留作纪念?整个过程应该思路清晰,知道自己做完这一步下一步应该做什么。不然就会像一个迷失在大海中的小舟。驶向何方,彼岸在哪里?都不得而知。只有思路清晰了。想尽所有的办法最终到达目的。最后相信自己会成功的,才可以能成功,自己都认为自己不行,别人就更加认为你不行了。坚定信念,一定会成功的,皇天不会辜负有心人的。一方面,知识的运用。在课堂上学习的知识往往是零散的,很难体会到一个整体的系统,做课程设计是一个整体的检验。无疑课设是对知识的良好检验。另一方面,问题解决能力。面对具体的问题,使用特殊的工具,解决其问题。最后,团队精神。在做课设中,团队能力是完成任务的核心要素,为了达到目标,团队精神应该是组员具备的良好素质。在工作中,大家应相互帮组,相互协作。放下隔阂,发挥强项,明确任务。 通过这次课程设计实习,我从中学到了很多,也真正领悟到了“态度决定一切”这句话的真正含义。首先这次课程设计使我懂得了理论与实际相结合的重要性。只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,把理论付诸实际行动,从实践中得出结论,才能更加深刻的理解书本所学知识,从而提高自己的实际动手能力和独立思考的能力。 在这里我还要特别感谢李老师和朱老师认真细致的讲解。我一定会再接再厉,不让大学四年荒废,我相信自己的实力!五、参考文献1李庆扬,王能超,易大义. 数值分析(第5版). 北京:清华大学出版社,20052李庆扬,关治,白峰杉. 数值计算原理. 北京:清华大学出版社,20003李海,邓樱. MATLAB程序设计教程.北京:高等教育出版社,20026、 附录程序拉格朗日插值:function c,l=lageangri(u,z) u=1.2 10 22.3 30 50 98.2 120; z=5 6.2 1.9 3.2 7.6 6.3 7.5; w=length(u);%测量u的长度 n=w-1; l=zeros(w,w);%生成w阶全零矩阵 for k=1:n+1%生成插值多项式 v=1; for j=1:n+1 if k=j v=conv(v,poly(u(j)/(u(k)-u(j);%生成插值基函数 end end l(k,:)=v; end c=z*l; t=0:1:64; p=interp1(u,z,t,polyfit); plot(u,z,bo-,t,p,g-,linewidth,2); legend(样本,拉格朗日多项式插值牛顿插值:function a,b=niudunchazhi(x,y)x=0.3 0.5 0.7 0.9 1.1;y=0.96,0.90,0.82,0.63,0.35;n=length(x);%测量x的长度b=zeros(n,n);%生成n阶全零矩阵b(:,1)=y;for j=2:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 梁平别墅铝扣板施工方案(3篇)
- 和老人谈话活动方案策划(3篇)
- 冰蓄冷施工方案(3篇)
- 走廊通风排烟施工方案(3篇)
- 医学培训考试题库及答案
- 北京市昌平区2024-2025学年八年级下学期第一次月考语文考点及答案
- 安徽省六安市金寨县2023-2024学年高三上学期第一次月考数学试题及答案
- 心理学选择题目及答案
- 心动信号测试题目及答案
- 小组成员题目大全及答案
- 陕西华山的险峻之旅
- 苏教版分式章起始课-展示课件
- 《茶文化与茶健康》第一讲
- OBE理念下的小学音乐教学设计反向思路初探
- GB 24541-2022手部防护机械危害防护手套
- 《PLC与变频器控制》课件 1.PLC概述
- 智慧产业园综合管理平台解决方案
- 国王的恩赐-传奇-任务全书
- 资产负债表(个体工商户)
- 手枪射击技巧
- 水浒人物介绍-鲁智深
评论
0/150
提交评论