- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机程序设计基础—FORTRAN实验设计报告线性方程组求解问题
中南大学
本科生课程设计(实践)任务书、设计报告
(计算机程序设计基础—FORTRAN)
题 目 线性方程组求解问题 学生姓名 陈 晨 指导教师 刘胤宏 学 院 土木工程学院 专业班级 土建类工程试验班
学生学号 1217110118
计算机基础教学实验中心
2012年 6 月 29 日
Fortran课程设计实验报告
之 线性方程组求解问题
题目重现:
一物理系统可用下列线性方程组来表示:
从文件中读入m1、m2和θ的值,求a1、a2、N1 和N2的值。其中g取9.8,输入θ时以角度为单位。
要求如下:
(1)分别用两种方法(例如高斯消去法、矩阵求逆法、三角分解法、追赶法等),定义求解线性方程组Ax=b的子程序,要求该子程序能求解任意线性方程组。
(2)在主程序中分别调用上面定义的两个子程序,并对求解结果进行对比分析。
(3)绘制以上两个方法所求得的方程解的数据分布图。
题目分析:
初看题目,MY GOD!这辈子没见过这么复杂奇葩的方程组。而脑袋里那些应付考试还可以的少的可怜的Fortran基础知识,更是直接缴械投降,无地自容了。不愧是大学,不愧是让无数土木人工科男竞折腰的Fortran课程设计。好吧,虽然极度怀疑自己的智商,但不战而屈己之兵又不是我土木人的性格。打开电脑,摩拳擦掌,Fortran,老子来了!
我们的目的地是,线性方程组的解,通往目的地的道路有好几条,Gauss大道,矩阵求逆之道,还有两条小路:三角分解与追赶之径。目前的情况是,小道路黑路不熟,大道倒是有星点的光。果断走大道嘛。开发思想嘛,对于解这样一个复杂的线性方程组,聪明的人类是不会傻乎乎自己去做的。于是,我们把这个繁琐的工作交给任劳任怨的计算机吧,省下我们大好年华去干更多有意义的事情。那么,我决定将这项任务交给fortran了,既然没人反对,那就这么定了 。
废话不多说了,直接上图。
系统结构图:
设计流程图:
系统功能及系统详细设计:
这个我要慢慢说,总体上系统分为两大部分:运算程序(即解线性方程组),绘图程序。运算程序中,由于采用两种方法,因此包含两大子程序。子程序1用来通过gauss消元法来求解;子程序2则通过矩阵求逆法以另一种方式解决方程组。
当然,两种方法各有千秋,各有其各自的优越性,主要是在程序复杂程度,运行时计算量即时间和空间量度上有区别。当主程序将指定文件中的已知条件读入,程序,开始为向矩阵赋值,这里通过一个4维数组实现,继而分别调用两大子程序,运算后输出结果,并将结果写入文件中。同时,两个子程序又并不只限于本题,由于具有很好的普遍性,所以,依然可以解决类似的其他数学或物理上的线性方程组问题O(∩_∩)O!这也符合了本次课程设计的要求。另一方面,绘图程序通过读入运算程序所生产文件中的结果数据,并以此描点画图,更加直观的展现出变量之间的关系,便于分析具体问题和预计变量变化趋势。
子程序1(gauss)结构图:
变量说明:
A——双精度二维数组,存放原矩阵和逆矩阵
B,P——双精度一维数组,结果向量
X,C——双精度一维数组,解
N——整型变量,表示阶数
L——整型变量
Is,js——整型一维数组
子程序2(矩阵求逆法)结构图:
变量说明同上
绘图截图:
结果分析:
已知条件为 m1= 2.000000 m2= 3.000000
若角度为 45.500000
矩阵求逆结果:8.697662649563757 2.439507666582445 10.264865479508530
36.597686618051200
Gauss法结果 :8.699359268458210 2.438986192406746 10.258617002977420
36.590364957478860
误差为: -1.696618894452939E-003 5.214741756986996E-004 6.248476531107272E-003 7.321660572344513E-003
****~~~~O(∩_∩)O~~~~****
两种方法都可以求得较精确的解向量,误差千分之一左右,基本符合题目要求。
遇到的问题及解决方法:
将数学语言转换为fortran计算机编程语言,这对于我来说算是个不小的挑战。两者虽有本质的相通之处,但语言上的极大差异确实让人无从下手。但照
您可能关注的文档
最近下载
- QB_T 4563-2013金砂糖.pdf
- 大坝安全监测系统运检导则(试行) QGDW 46 10022.24-2020.docx VIP
- 第五单元 一方水土养一方人 达标训练(含答案) 浙江省人教版七年级人文地理下册.docx
- 奋进新征程建功新时代PPT模板.ppt VIP
- 规范《GB712-88-船体用结构钢》.pdf
- 二年级上册语文教学设计21《狐假虎威》一等奖 刘芳 部编版.docx VIP
- Q_GDW 46 10022.25-2020 通风空调系统运检导则.docx
- 12如何帮助学生学会正确地与异性同学交往?.docx VIP
- 专题1.2 数轴与动点经典题型(四大题型)(原卷版).docx VIP
- 拉森钢板桩专项施工方案.doc
文档评论(0)