中南大学 本科生课程设计(实践)任务书、设计
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
——————土建0901 刘佳琪 1208090131 B26
中南大学
本科生课程设计(实践)任务书、设计报告
(计算机程序设计基础—FORTRAN)
题 目
线性方程组求解问题
学生姓名
刘佳琪
指导教师
刘卫国
学 院
土木建筑学院
专业班级
土建类0901班
学生学号
1208090131
计算机基础教学实验中心
2010年 7 月 4 日
一、任务内容
线性方程组求解问题。
一物理系统可用下列线性方程组来表示:
从文件中读入m1、m2和θ的值,求a1、a2、N1 和N2的值。其中g取9.8,输入θ时以角度为单位。
要求:(1)分别用两种方法(例如高斯消去法、矩阵求逆法、三角分解法、追赶法等),定义求解线性方程组Ax=b的子程序,要求该子程序能求解任意线性方程组。
(2)在主程序中分别调用上面定义的两个子程序,并对求解结果进行对比分析。
(3)绘制以上两个方法所求得的方程解的数据分布图。
二、系统开发设计思想
1.系统结构图
2.设计流程图
3.系统环境
· 在Console环境下用两种方法求解线性方程组
· 在QuickWin环境下把求得的解用数据分布曲线表示出来
三、系统功能及系统详细设计
1.系统功能分析
Console环境下
· 子程序agaus:用高斯消去法求解线性方程组;
· 子程序brinv:求逆矩阵
· 子程序brmul:两矩阵相乘
· 主程序MAIN:分别调用以上的三个子程序,用两种方法求解线性方程组
QuickWin环境下
· Draw主程序:绘制数据分布曲线
2.功能结构图
3.模块描述
· 模块0:主程序模块——0.1:从文件中读入数据;0.2:给数组赋初值
· 模块1:高斯消去法
· 模块2:矩阵求逆法模块——2.1:求逆矩阵模块;2.2:矩阵相乘
· 模块3:绘制数据曲线
4.模块结构图
5.模块实现
详见源程序。
四、遇到的问题与解决的办法
· 问题1:《Fortran常用算法程序集(第二版)》里面的程序用Fortran77写的, 与90版本有差别。
解决方法:(1) DO 10……10 CONTINUE语句改为END DO 语句
(2)书上程序的扩展名为.for说明是以固定格式输入的,而我们建立的源程序扩展名为.f90,为自由格式,要将输入数据之间的续行符*删掉,把数据写在一行里,且可以顶头输入语句。
· 问题2:从文件中读入数据时出现类似“invalid integer”或“end of file encountered”的问题(经老师指点)
解决方法:(1)不能双击打开文件,以确保路径正确-存在源文件文件夹里;
(2)注意IN规则,要给数据类型下好定义;
(3)最好在Fortran Power Station 的操作环境下用按钮新建文本文档,保存时修改扩展名为.txt
· 问题3:数组数据无规律可循,不能用一般赋初值语句赋值。
解决办法:(1)直接用赋值语句给数组元素一个一个的赋值。
(2)优化方法:由于数组里有相当一部分元素为0,可以先用DATA语句把数组的初值全部赋为0,简化程序。
· 问题4:当单独调试子程序时,结果正确;但是当把两种方法的子程序在同一主程序中调用时,后一子程序的结果出现较大偏差。
解决方法:查找原因,发现是第一个子程序更改了A数组元素的值。于是,我在调用第二个子程序之前又给A数组重新赋了值。
· 问题5:QuickWin与Console语句的合并。(与同学讨论一起解决)
解决方法:(1)背景颜色和输出数字的颜色都是黑色,所以有结果也看不见,于是用draw=setbkcolorrgb(#ffffff) Call clearscreen($gclearscreen)语句把背景颜色改成了白色;
(2)把图像的横坐标向右平移了250个单位,使console的结果和绘图结果同时显示。
五、
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
这次课程设计实践中我遇到了许许多多的问题,但都通过请教老师、和同学讨论和翻阅书籍资料逐个解决了。尤其是之前对QuickWin的相关操作一片空白,我用了整整一天的时间读懂了书上和老师给的几个例题,终于学会使用其中的设置颜色、线形以及moveto、lineto等一些基本的绘图函数;在试图将Console与QuickWin合并的过程中,我和同学边讨论边尝试,终于用自己的方法做出了满意的结果。课程设计期间,我的分析问题、解决问题和自学能力都有了很大的提高,可谓收获不小。
六、参考文献
[1]刘卫国,蔡旭辉主编.FORTRAN90程序设计教程(第2版).北京:北京邮电大学出版社,2007
[2]刘卫国,戴忠主编.FORTRAN90程序设计上机指导与习题选解(第2版).北京:北京邮电大学出版社,2007
[3]徐士良主编,Fortran常用算法程序集(第二版).北京:清华大学出版社
[4]刘卫国,2010年FORTRAN课程设计任务书
模块1
矩阵相乘
矩阵求逆法
高斯消去法
两方法结果的比较
绘制数据分布图
求逆矩阵
给数组赋初值
从文件中读入数据
求解线性方程组
子程序
主程序
程序
模块0.2
高斯消去法子程序
两矩阵相乘子程序
求逆矩阵子程序
绘制数据曲线
从文件中读入数据
调试
模块0.1
调用子程序
给数组赋初值
模块3
模块0
模块2.1
模块2
模块2.2
子程序agaus
子程序brmul
子程序brinv
Console环境下
Draw主程序
主程序MAIN
QuickWin环境下
PAGE
4
_1339432170.unknown