中南大学fortran课程实践报告非线性方程组的求解 下载本文

内容发布更新时间 : 2024/5/28 10:58:34星期一 下面是文章的全部内容请认真阅读。

中南大学

本科生课程设计(实践)设计报告

(程序设计基础)

题 目 学生学号 学生姓名 指导教师 学 院 专业班级

非线性方程组的求解

蔡 旭 晖 土木工程学院 土建类1109班

计算机基础教学实验中心

2012年 6 月 28 日

1

程序设计(FORTRAN)实践报告

一、引言

1、课程设计的目的

《FORTRAN程序设计》课程设计是在学生修完“FORTRAN程序设计基础”之后的一门实践性课程,要求学生完成一个大型程序设计任务。通过本课程,培养学生利用程序设计技术进行计算机与专业知识的交叉应用、综合解决实际问题的能力。让学生通过自己分析问题、设计算法、编写调试程序,以解决具体的实际问题,要求掌握结构化程序设计与调试方法,得到分析问题、解决问题的初步训练,提高综合应用能力。

2、课程设计的任务

土木工程师在设计一条排水渠道时必须考虑渠道的各种参数(如宽度,深度,渠道内壁光滑度)及水流速度、流量、水深等物理量之间的关系。假设修一条横断面为矩形的水渠,其宽度为B(m),Q 是水的流量(m3/s),H是水的深度(m),n是Manning粗糙系数, S是水渠的斜度系数,代表水渠底每米内的落差。为了不同的工业目的(比如说要把污染物稀释到一定的浓度以下,或者为某工厂输入一定量的水),需要指定流量Q和B,求出水的深度,其数学模型为

11/2(BH)5/3S?Q?0 2/3n(B?2H)

当B?20m, n?0.03, S?0.0002, Q?5m3/s时,求渠道中水的深度H,并绘制排水渠道宽度B(15m~25m)和深度H的关系曲线(假设n、S、Q不变)。

3、系统开发设计思想 (一)、系统结构图

2

(二)、系统坏境

系统开发环境为CONSOLE APPLICATION和QuickWin图形库。

二、题目分析

此课题可分为两部分来解决,一部分为设计求非线性方程的程序,另一部分为利用Quick Win绘制图形。

通过查阅fortran的算法集,我决定采用牛顿迭代法来解决这第一个问题,绘图则用Quick Win,鉴于此程序是关于非线性方程的,则利用描点法来绘制程序。

三、详细设计

算法:牛顿迭代法 数据结构: 描述 粗糙系数 斜度系数 水的流量 水渠宽度 水的深度 算法描述

牛顿迭代法的方法说明:

方程f(x)=0在区间[a,b]上有且只有一个实根,取初值x0,由牛顿迭代格式

类型 Real Real Real Real Real 名字 N S Q B H xn?1?xn?=0的根。

f(xn)计算得到序列x0,x1,?? ,xn??收敛于f(x)f?(xn)结束迭代的条件是:

f(xn?1)??和xn?1?xn?? 其中?为是先给出的精度要求。 在本题中牛顿迭代法的流程图:

3