中南大学计算机程序设计报告—FORTRAN
更新时间:2024-05-23 12:49:01 阅读量: 综合文库 文档下载
中南大学
本科生课程设计(实践)任务书、设计报告 (计算机程序设计基础—FORTRAN)
题 目 学生姓名 指导教师 学 院 专业班级 学生学号
线性病态方程组问题
*** *** 土木工程学院 土木工程****班 **********
计算机基础教学实验中心 20**年 * 月 * 日
课程设计实践报告
一、任务内容
本次实践我的研究课题为“线性病态方程组问题”,题目如下:
2.线性病态方程组问题。 下面是一个线性病态方程组:
?1/21/31/4??x1??0.95??1/31/41/5??x???0.67? ???2?????1/41/51/6????x3????0.52??(1)求方程的解。
(2)将方程右边向量元素b3改为0.53,再求解,并比较b3的变化和解的相对变化。
(3)计算系数矩阵A的条件数并分析结论。
提示:矩阵A的条件数等于A的范数与A的逆矩阵的范数的乘积,即
cond(A)?A?A?1。这样定义的条件数总是大于1的。条件数越接近于1,矩
阵的性能越好,反之,矩阵的性能越差。矩阵A的条件数cond(A)?A?A?1,其中A?max{?aij},aij系矩阵A的元素。
1?j?ni?1m要求:
(1)方程的系数矩阵、常数向量均从文件中读入。
(2)定义求解线性方程组Ax=b的子程序,要求该子程序能求解任意线性方程组。
(3)在主程序中调用子程序,并对求解结果进行对比分析。 (4)绘制常数向量修改前后所求得的方程解的数据分布图。
二.系统开发设计思想
本题采用的方法主要有高斯消元法和矩阵求逆法,然后按照有关线性方程组的解法,求出方程组的解。对所求结果进行对比,然后绘制出有关图像。
首先编写主程序,从文件中调用主程序,进行调试,输出方程组的解。本题编写了三个子程序,第一个子程序GAUSS是用高斯消元法编写而出,第二个子程序INVERSEMATRIX是用逆矩阵法编写而出,第三个子程序FANSHU由范数的定义来编写的。之后,采用QuickWin绘图,设计程序,输出有关图像。
设计流程图:
含有系数的TXT文件 主程序 子程序 求出解 利用程序得出解,生成含解的文件,采用QuickWin编写程序
图像程序 生成图像 三、系统功能及系统详细设计
我所设计的系统的功能是求解线性病态方程组的解,并计算出系数矩阵的条件数。整体详细的设计思路如下:
(1)从文件读入系数矩阵、向量矩阵及对向量矩阵做微小变化后的原始数据,利用高斯消元法分别求解出线性方程组的原始解及变化后的解。
(2)设计求矩阵的逆矩阵的子程序和求范数的子程序,从文件中读入系数矩阵数据,调用两个子程序,由条件数的定义计算出系数矩阵的条件数。
(3)在QuickWin系统环境下编写程序绘制向量矩阵变化前后的两组解的折线变化情况。
(4)对比解的变化情况,结合系数矩阵条件数的大小分析变化的原因。得出正确的结论。
四.遇到的主要问题及解决办法
(1)格式输入输出问题
在输入系数生成TXT文件时,由于没有考虑程序设计时的格式输入输出问题,例如输入时未能按照要求输入系数,导致程序无法从文件中正确读入数据,造成计算错误。经过改正输入格式后问题得到解决,程序能够正确读取矩阵系数,进而为下面的计算提供保障。 (2)子程序设计中出现的问题
在用高斯消去法求线性方程组的解时,经过检验,得到的不是正确的解。仔细检验程序及对比有关参考书的程序举例之后发现问题出在每次调用子程序后,原来的存放数据的数组就被赋予了新的值,在后面直接再用这个数组便得不到正确的结果。于是在每次调用子程序之后重新读取数据,再次将数据赋给该数组,得出的结果就正确了。 (3)输出图像时出现的问题
在编写好绘图程序之后,整体执行程序时,先运行求解和求条件数的程序后,再打开绘图程序直接运行时就会出现多处错误(如下图),错误提示未定义的外部函数,而后面的函数都是QuickWin下的内部函数。后来通过向老师询问后知
道这时的系统环境并不是QuickWin。关闭当前的Workspace后再在QuickWin应用模式中打开绘图程序,运行就不存在问题了。
五.总结与心得体会
通过这两周以来的编程实践,我深刻认识到了FORTRAN90 编程语言的强大
功能与重要作用,尤其对于我们土建类这个专业,Fortran90将在我们今后的学习工作中发挥更大的作用。
这次实践当中,我收获了很多。
首先,我巩固了FORTRAN程序设计的知识,特别是图形操作部分。这次实践要求文件读入数据操作和数据分布图绘制,于是我花了大量的课余时间阅读课本知识和举例程序,最终成功独立完成了文件读入和图形绘制任务。
其次,以前学的知识都是分散的,不能在实际学习工作中发挥很大的作用。而这次实践之后,我感觉自己已经能够把所学的基础知识连成一个体系,初步有了系统程序设计的思想。包括如何正确分析问题,用怎样的数学思想,如何设计流程图,如何将这些思路用以有的知识通过程序的语言表示出来,如何调试程序,如何分析错误信息等等。希望在日后的求学过程中,可以学以致用,利用计算机编程的思想更为方便地解决工程中实际问题。
最后,在实践过程中各种问题很多,程序总不能成功运行。虽然如此却从未放弃,一遍一遍修改,最后终于成功。相信在实践过程中培养出的这种坚持不懈的精神,会让我受益终生。
六.参考文献
1.刘卫国 戴忠.主编.Fortran90 程序设计上机指导与习题选解(第二版).北京邮
电大学出版社2007
2.刘卫国 蔡旭晖.主编.fortran90 程序设计教程(第二版).北京邮电大学出版社2007
3.徐士良主编.Fortran常用算法程序集(第二版).清华大学出版社
正在阅读:
幼儿园小班下学期评语02-24
最新服装销售5月份工作总结05-28
我国村民自治存在的问题与对策探讨01-08
VB程序设计学习与实验指导答案06-07
海南三亚·天域度假酒店投资可行性研究报告(73页完整版)04-25
第八章 员工关系管理方案08-06
VMware安装Ubuntu1008-14
2011CAXA电子图板基础技巧11-23
盐城市电大专科校友名录01-18
- 2009中西部家居博览会总体策划
- 2009 Revit 1级工程师学生用
- 天津地铁建设工程试验检测机构管理办法(TJDT-ZY-AQ-29)
- 新四年级数学暑期班第七次教案
- 机械制造企业隐患排查治理检查表 - 图文
- 2008届全国百套高考数学模拟试题分类汇编-103概率与统计解答题 -
- 职场健身防病试题及答案
- Excel操作技巧大全II - --数据输入和编辑技巧
- 南开大学2018春季《行政管理学》离线作业考核答案
- 2015年医师定考简易程序试卷及答案
- 新《预算法》对行政事业单位预算管理的挑战解读
- 轴的课件
- 电动汽车充电桩设计 毕业论文
- 必修2、选修2-1、1-1期末模拟试题2
- 桌面远程运维管理系统实施-可行性研究报告120306
- 西气东输水土保持工程工作总结 - 图文
- 正宁县基本县情及经济社会发展情况简介
- SATWE参数设置(巨详细)
- 儒家法思想研究综述
- 生活家政服务电子商务平台建设运营整合方案书【审报完稿】
- 中南大学
- 程序设计
- FORTRAN
- 计算机
- 报告
- 唐山市2018年高三语文期中考试(20份试卷)word文档合集
- 初级检修工理论考试题
- 探究企业税收筹划(4篇)精品资料 - 图文
- 扬州市优质结构工程项目申报表(预审)(附件一)
- 基于单片机的环境温湿度光照度检测装置
- 钢筋桁架模板安装工程施工指导手册 - 图文
- xx乡关于深入推进组管委工作的研究
- 机织学经典习题和答案
- 机械制图零件图、装配图题库(有难度)
- 任务型语言教学在高中英语教学中的尝试-最新教育资料
- TMSScripter工作室开发者向导
- 2012-2014年1季度天津市日用及医用橡胶制品制造行业财务指标分析
- 副市长在全市城建重点工作部署会议上的讲话
- 金融市场第四次作业
- 质量检验与质量管理体系 - 图文
- 2008年6月大学英语四级考试A卷试题
- 网络互连技术
- 中国合成油行业市场前景分析预测年度报告(目录) - 图文
- 杭州市上城区2018年中考数学一模试题含答案
- 全面备考,打好考研“综合战”