计算实习报告.doc

上传人:文库蛋蛋多 文档编号:3260888 上传时间:2023-03-12 格式:DOC 页数:7 大小:94.50KB
返回 下载 相关 举报
计算实习报告.doc_第1页
第1页 / 共7页
计算实习报告.doc_第2页
第2页 / 共7页
计算实习报告.doc_第3页
第3页 / 共7页
计算实习报告.doc_第4页
第4页 / 共7页
计算实习报告.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《计算实习报告.doc》由会员分享,可在线阅读,更多相关《计算实习报告.doc(7页珍藏版)》请在三一办公上搜索。

1、计算实习报告我是来自*学院*班的学生贾瑞雪,我的学号是*。本次的实习题目是求解非线性方程的根,实习日期为2012年6月27日至6月29日 。在实习过程中,我通过仔细阅读、分析题目要求,进而采用多种不同的方法对问题进行求解,并经过多次上机编程、调试以及修改,最终得到了较为满意的结果,期间得到了*老师的指导和*同学的帮助,在这里一并对他们表示感谢。一、实习目的:通过计算实习让学生了解编程思想,培养学生的计算机编程能力并能够完成编程书写,培养学生的问题分析、算法设计能力,帮助学生养成良好的软件开发规范习惯,掌握模块化程序设计的基本思想,掌握软件调试、测试的基本技能和方法,并逐渐增强学生撰写实验报告的

2、能力及其书写质量。二、问题定义及题目分析:本次实习要解决的问题是求解形如的非线性方程f(x)=0的根。我们由代数理论可以知道,四次及四次以上的方程没有求根公式,方程的解难以用公式表达。另外在实际工程应用过程中,很多时候我们并不需要知道方程理论上的精确解是什么,这时我们只需要求出方程的一定精度的近似解即可。而我们若能把隔根区间不断缩小,则可以得出根的近似值,从而使问题得到解决。在上述思想的指导下,基于函数f(x)的连续性质,常用的根的隔离方法有描图法和逐步搜索法。因而在实际操作中,我们常常用描图法,逐步搜索法或根据函数的连续性、介值定理以及单调性等首先寻找有根区间,并把隔根区间不断缩小,再用其他

3、方法求出方程的近似精确解。这里我们采用了三种不同的方法,即二分法,简单迭代法以及变形的双点弦截法,分别进行编程,对问题加以解决。三、概要设计:1)二分法:逐步将有根区间分半,通过判别函数值的符号,用符号相同的中点值取代该边界,进一步搜索有根区间,将有根区间缩小到充分小,从而求出满足给定精度的根的近似值。1计算f (x)在有解区间a, b端点处的值,f (a),f (b)。2计算f (x)在区间中点处的值f (x1)。3判断若f (x1) = 0,则x1即是根,否则检验:(1)若f (x1)与f (a)异号,则知解位于区间a, x1,(2)若f (x1)与f (a)同号,则知解位于区间x1, b

4、,4. 反复执行步骤2、3,便可得到一系列有根区间:(a, b), (a1, b1), , (ak, bk), 当时,则即为方程的近似根。2)简单迭代法: 令方程 f(x)=0,将其变成一个等价的方程x=g(x),构造 ,k=0,1, 称为迭代数列,g(x)称为迭代函数,称为迭代公式,或迭代过程。当g(x)连续时,如果有,对迭代公式两端取极限则有x=g(x)或f(x)=0。 即序列的极限x为f(x)=0的根。因此,我们可以通过求迭代数列的极限的方法来求得方程f(x)=0的根。3)变形的双点弦截法:(1)变形的双点弦截法的迭代公式为,n=1,2,(2)以x附近的某两个值x0,x1为迭代初值,代入

5、迭代公式,得到x2,然后由x1,x2得到x3,依次类推,得到迭代序列x0,x1,x2,(3)若此序列收敛,则必收敛于精确根x,即四、详细设计:1) 二分法解非线性方程的流程图: 定义f (x)f (a) f (b)0f (a) f (b)=0f (a) =0打印b, k结束是是是否否否m=(a+b)/2|a-b|0打印m, ka=mb=m结束k=K+1是是否否输入 k = 02)简单迭代法解非线性方程流程图:定义g(x)输入x0,m,ek=0kmx1=g(x0)输出x1,k结束已到最大迭代次数x1=x0k=k+1是否否是3)变形的双点弦解法解非线性方程的流程图:输入e,x0,x1,k i=0

6、i=i+1否i=0的情况考虑进去,导致程序不完备,在程序执行时出现了问题。后经老师指导,在已有程序的基础上,将这两种情况加进去,最终得到了该问题的较为全面的解决方案。测试用例:方程f(x)=x*x*x-x-1=0;测试结果:2)简单迭代法: 用简单迭代法求解非线性方程根的近似值时,需要满足一定的要求。方程f(x)=0到x=g(x)的变形不唯一。由于迭代公式不同,或迭代初值不同,使得迭代过程有的收敛,有的不收敛,因此我们在处理问题时,必须选择收敛的迭代格式。在最初解题过程中,由于未能注意这一要求,导致所得结果与预测中的值出现了较大偏差。经过老师的分析、讲解,后来我经过重新选定收敛形式的函数g(x

7、),最终得到了较为满意的结果。测试用例:方程f(x)=x*x-x-1=0;测试结果:3)变形的双点弦解法:与简单迭代法类似,在用变形的双点弦解法求解非线性方程根的近似值时,也需要满足一定的条件。并且这里要求的收敛条件更加苛刻。因为在f(x)连续时,变形的双点弦解法也有可能不收敛,因此必须多次尝试,以确定合适的迭代初值。在最初解决过程中,由于选择的迭代初值不太合适,以致虽然收敛但是收敛过慢。后来在老师的帮助指导下,在这里设置了最大迭代次数,当迭代次数超过最大迭代次数时,则退出程序。测试用例:方程f(x)=x*x*x-x-1=0;测试结果:六、结果分析、总结及心得体会:1)结果分析及总结:在此次实

8、习中,我们分别采用了三种不同的方法,即二分法,简单迭代法以及变形的双点弦截法进行编程,对问题加以解决。这三种方法各有优缺点。首先二分法是收敛的,且算法简单,但因其收敛速度较慢,所以一般不用于高次方程的求解,并且二分法只能用于求实根。但其零点的最多迭代次数与函数的曲线形状无关。一方面,二分法不能利用函数f(x)的具体形式来加速收敛;另一方面,二分法不会因为函数f(x)的具体形式而减慢收敛或变得不收敛。二分法对函数f(x)的要求很宽松,只要求f(x)连续即可。其次,简单迭代法是其他迭代法的基础,其优点是计算程序简单,并且虽然是以求解非线性方程的实根来讨论的,但类似的结果完全可以推广到求方程的复数根

9、的情形。其缺点是收敛速度稍慢,但是也可以通过一些方法加速,如可用斯蒂芬森迭代法及埃特金加速法加速等。而变形的双点弦截法虽格式构造容易,收敛速度稍快,但需要两个初值,并且对初值的选取比较敏感,另外收敛速度与函数的曲线形状有关。三种方法的对比:首先比较一下双点弦截法与二分法。双点弦截法的收敛性同二分法,对f(x)的要求很宽松,只要求f(x)连续即可。与二分法不同的是,双点弦截法目的不是使有根区间足够小,也不能取有根区间的中点作为近似根,而是使有根区间的某一个边界最终收敛于精确根。并且双点弦截法的近似解可能在有根区间两侧的边界a、b来回跳动。一般情况下,双点弦截法收敛速度高于二分法。其次,对简单迭代

10、法与双点弦截法做一比较。简单迭代法是把上次的迭代结果作为本次迭代的初值,属于单点迭代法。而双点弦截法每次迭代以最后两次的迭代结果作为本次迭代的初值,属于多点迭代法。这三种方法在解决非线性方程求根问题上各有优缺点,因此在实际解决问题过程中,应根据方程的特点选取合适的方法进行求解,以达到事半功倍的效果。2)心得体会:在注重素质教育的今天,实习及实践活动一直被视为培养德、智、体、美、劳全面发展的跨世纪优秀人才的重要途径。计算实习是与课堂学习、课外练习相结合的一个非常重要的教学环节,是学校教育向课堂外的一种延伸,也是大学生进入社会的桥梁。通过这三周的实践学习,老师以大量明晰的操作步骤和典型的应用实例教

11、给我们,让我们对计算机理论知识有了一定的了解,也使我们掌握了一定的软件技术和应用技巧。实践出真知,唯有把理论与实践相结合,才能更好地为社会服务。在这期间,我在网络上,在图书馆查阅了一些计算应用知识并对编程所需的资料进行了粗浅的了解,为接下来的学习做准备,提高了我的动手能力,同时也让我了解到了自己的不足。后来通过上机编程和不断地调试,亲身体会,真正对所学的软件融会贯通,熟练在手。在这次实习中我掌握了一定的计算机编程能力,并能够较好较清晰的完成程序的书写过程,培养起了良好的分析问题及设计算法的能力,养成了良好的软件开发规范习惯,掌握了模块化程序设计的基本思想,掌握了软件调试、测试的基本技能和方法,

12、并逐步增强了自己的撰写实验报告的能力及其书写质量。可是在学习的过程中总难免会遇到这样那样的问题,幸好在老师、同学的帮助和自己的摸索下完成了这次实习,获得了一定的成果。以我们的经验,当前计算机在生活中的应用愈加广泛,软件的功能也日趋复杂化,不学习一定的计算机知识以及软件编程是难以在以后的实际工作中应付自如的。此次实习反映出我们的学习还不够,缺点疏漏。须再加以刻苦钻研及学习,不断开拓视野,增强自己的实践操作技能,为以后能做出更好的软件而努力。今天我学到的所有这些都必将对我将来的学习生活产生深刻的影响。我庆幸也感谢有这样一个学习的机会,能够很好的提高自己、锻炼自己。同时也对自己的能力更加自信,相信自己将来能够成为一个对社会有用的一员,为社会主义现代化建设做贡献。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号