Fortran90课程设计(线性方程组求解问题)实验报告.doc

Fortran90课程设计(线性方程组求解问题)实验报告.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Fortran90课程设计(线性方程组求解问题)实验报告

xx大学 本科生课程设计(实践)任务书、设计报告 (计算机程序设计基础—FORTRAN) 题 目 线性方程组求解问题 学生姓名 xxx 指导教师 xxx 学 院 xxxxx 专业班级 xxxxx 学生学号 xxxxx 计算机基础教学实验中心 2010年 6 月 20 日 任务内容 本次课程设计我的研究课题为“线性方程组求解问题”,题目如下 线性方程组求解问题。 一物理系统可用下列线性方程组来表示: 从文件中读入m1、m2和θ的值,求a1、a2、N1 和N2的值。其中g取9.8,输入θ时以角度为单位。 要求: (1)分别用两种方法(例如高斯消去法、矩阵求逆法、三角分解法、追赶法等),定义求解线性方程组Ax=b的子程序,要求该子程序能求解任意线性方程组。 (2)在主程序中分别调用上面定义的两个子程序,并对求解结果进行对比分析。 (3)绘制以上两个方法所求得的方程解的数据分布图。 二、系统开发设计思想 本题目主要涉及线性方程组的求解问题,以及通过不同方法结果的得出结果的比较分析问题。 通过范数求解出方程组的条件数。其中,线性方程组求解选用高斯消去法。 解题时,我使用了高斯消去法、矩阵求逆法求解四阶线性方程组。 系统环境:操作系统为 Windows 7(64bit),使用Fortran PowerStation 4.0 中的 工作空间“Console Application”以及“Quickwin Application” 系统结构图如下: 子程序2 矩阵求逆法 子程序1 Gauss消去法 主程序 输出结果并进行对比分析 绘制两种不同方法的解的数据分布图 注:设计了两个子程序,一个主程序,以及一个绘图程序。 三、系统功能及系统详细设计 针对题目要求,我设计的系统主要为了解决题目中所提出并要求的问题。子程序则各尽其用,不仅可以作为整体系统的重要部分,还可以使用于通用问题。 如高斯消去法和矩阵求逆法,可以解决线性方程组的求解问题。再如绘图程序,将问题(2)的结果直观化,更直观明显的表现了两种不同方法所得结果的异同。 系统设计思想流程: (1)、选用Gauss消去法求线性方程组的解。因此将Gauss消去法作为一个子程序。 (2)、选用矩阵求逆法求同一线性方程组的解。将矩阵求逆法也编辑为一个子程序。 (3)、从文件中读取初始条件(m1,m2和θ),得到一个线性方程组 , 并求解之,需要运用两个子程序。 (4)、将两种方法得到的结果进行误差分析((a1-a2)/a1),通过分析结果对两种解方程的方法 (5)、使用Fortran语言绘图,将两组解进行对比,从而更直观的不同解法的 的异同。 四、遇到的问题与解决办法 遇到的问题: (1)、在设计思路时,由于对线性代数知识了解不多,导致我在一开始时感到无从下手。 (2)、算法问题,即如何将数学上解题方法运用在Fortran90的程序中。 (3)、绘图问题。在课堂上,由于时间的限制,老师们未详细讲解有关Fortran90作图方法的问题。因此在完成(3)作图题时,困难重重。 解决方法: (1)、通过查阅相关资料和向老师同学请教,了解了Gauss消去法和矩阵求逆法并确定使用此两种方法来求解。 (2)、筛选网络信息,具体得出了Gauss消去法和矩阵求逆法的源程序。 (3)、通过研读课本中的相关知识和上网查询,大致了解的Fortran90的绘图方法,并作出了题目要求的图线。 五、 总结 FORTRAN90是1991年问世的, 由于FORTRAN具有强大的数据科学计算能力(相比Matlab,C++,FORTRAN效率更高),在工程、科研工作中仍有较广泛的应用,因而学习FORTRAN还是有意义。 经过本次为期一周的实践,我提高了编程的能力,对Fortran90这门编程语言有了更深的理解,并提高了这方面的实际操作能力。深刻感受到了要制作出较好的软件,不仅仅需要编写代码,还需要搜索大量的资料,需要多种软件的共同应用,来整合出自己的作品。其中,代码的编写需要大量的逻辑思考、需要巧妙的算法、需要有扎实的基本功、对于一次次的报错要有耐心检查。尤其是一个人开发,工作量很大,要有坚持不懈的精神。

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档