中南大学计算机实践报告.doc
《中南大学计算机实践报告.doc》由会员分享,可在线阅读,更多相关《中南大学计算机实践报告.doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、中南大学计算机实践报告中南大学计算机实践报告中南大学本科生课程设计(实践)任务书、设计报告(计算机程序设计基础FORTRAN)题目线性方程组求解问题学生姓名指导教师学院专业班级学生学号刘卫国土木工程学院土建类班计算机基础教学实验中心2021年6月29日一、实践目的通过本课程设计,培养程序设计能力以及综合解决实际问题的能力。通过自己分析问题、寻求算法、编写、调试程序的过程,掌握FORTRAN程序设计与调试方法,提高灵活运用所学知识解决问题的能力。二、设计任务线性病态方程组问题:1/21/31/4x10.951/31/41/5x0.6721/41/51/6x30.52(1)求方程的解。(2)将方程
2、右边向量元素b3改为0.53,再求解,并比较b3的变化和解的相对变化。(3)计算系数矩阵A的条件数并分析结论。提示:矩阵A的条件数等于A的范数与A的逆矩阵的范数的乘积,即cond(A)AA1。这样定义的条件数总是大于1的。条件数越接近于1,矩cond(A)AA1阵的性能越好,反之,矩阵的性能越差。矩阵A的条件数Amaxaij1jni1m,其中,aij系矩阵A的元素。要求:(1)方程的系数矩阵、常数向量均从文件中读入。(2)定义求解线性方程组Ax=b的子程序,要求该子程序能求解任意线性方程组。(3)在主程序中调用子程序,并对求解结果进行对比分析。(4)绘制常数向量修改前后所求得的方程解的数据分布
3、图。三系统坏境系统开发环境为CONSOLEAPPLICAT三系统功能及系统详细设计四系统功能及系统详细设计。系统功能分析针对题目要求,我设计的系统主要为了解决题目中所提出并要求的问题。子程序则各尽其用,不仅可以作为整体系统的重要部分,还可以使用于通用问题。如三角分解法,可以解决线性方程组的求解问题。求范数和矩阵求逆的子程序,可以解决相应的问题。再如绘图程序,将问题(2)的结果直观化,更直观明显的表现了病态方程的特点与定义。(1)主程序模块:用三角分解法,首先将系数矩阵的值及常数项的值存入文件中,然后通过读取文件中值调用子程序lud求出原方程的解,并将解存入文件中;对于矩阵求逆法,同理,首先将系
4、数矩阵的值及常数项的值存入文件中,然后通过读取文件中值调用子程序lub和lud求解和QuickWin图形库。出原方程的解,并将解存入文件中。(2)、子程序模块:1.SUBROUTINEAGAUS这个子程序是将最大元素放主对角线上;2.SUBROUTINElud这个子程序是将A分解成L、U的乘积;3.SUBROUTINEFANSHU这个子程序求范数。4.SUBROUTINENJZ用来求逆矩阵。5.SUBROUTINElub这个子程序是利用分解后的上三角阵求解矩阵的;(3)绘图模块:先从文件中读取两次所求的解,然后利用绘制方程解的数据分布图。比较前后所求得的方程解的图形可以很容易看出常数向量的微小
5、变化对解的影响较大。五遇到的问题及解决的办法在设计和调试这个程序过程中,我遇到了很多问题。这些问题对我的编程进度有很大影响。主要的方面包括以下几点:1在读取数据的时候遇到了“endoffileencoutered”,这句话的意思是遭遇到了文件的结尾。这是因为自己设计的文本文件是格式不对或者就是没有数据,导致不能正常运行出来。2如果在一个子程序中遇到“unresolvedexternalsymbol_main”和“1unresolvedexternals”,这是由于没有主程序或者是没有和主程序建立连接导致的。3在编译链接是出现“cannotopenDebng/yinexeforwriting”,
6、这是因为所写程序不在工作区间里面。解决办法就是将程序都调入一个空间。4在格式输入输出语句中要确定好每一个变量的范围及类型,否则可能导致运行不正确。5.循环变量的变化范围需要明确,防止数据溢出。6.在绘制折线图时坐标轴的间距需计算好,才能使图的大小和位置恰当。第一绘制折线图时坐标轴的间距需自己先计算好,这样在能保证图形有较好的效果。不然图形大小、位置可能都不会达到理想的效果。在绘制折线图时,刚刚开始总是有一部分不能显示,因为解中有一个负解的,而坐标轴刚刚开始没有定义负半轴。最后采取将纵坐标都加上一个适当的数将坐标总体平移,这样整个图形就可以显示在屏幕上。在设置坐标起点时,刚刚开始是任意选的一个数
7、,后来发现这样的图形不太理想。解决的办法就是将第组值设置为绘图起点。尽管这个程序不是很完美,我相信在以后的学习中我会尽量去改正这些缺陷与不足,尽自己最大努力做到最好。六、心得与体会课程设计是一次实践的过程,需要自己动手去做,这可以锻炼我的动手能力。在编写程序的时候我发现自己的知识掌握得并不是很好,熟练程度也不够,所以在编写程序的时候碰到了很多问题,出现了很多错误,不过通过看书或者是与同学,老师交流,我们比较好的解决了这个问题。能够让自己的程序比较好地得到运行,让自己更加牢固地掌握了这些知识,虽然在这个程序的编写过程中花费了很多时间但我觉得只要是自己动手做了这件事情,就学到了很多的东西。这不仅是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中南 大学计算机 实践 报告
限制150内