版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、东南大学C语言课程设计报告课程名称: 计算机综合课程设计 学 院: 土木工程学院 设计题目: 管网造价设计分析 级 别: B级 学生姓名: 董 旭 学 号: 05112517 同组学生: 学 号: 指导教师: 卢 瑞 华 2013年 9 月 19 日目 录 TOC o 1-3 h z u 4模块设计(主要模块功能、源代码、注释(如函数功能、入口及出口参数说明,函数调用关系描述等)91316心得体会及致谢17参考文献18学生选题说明:以所发课程设计要求为准,请同学们仔细阅读;本任务书提供的设计案例仅供选题参考;也可自选,但难易程度需难度相当;鼓励结合本专业(土木工程、力学)知识进行选题,编制程序
2、解决专业实际问题。限2人选的题目可由1-2人完成(A级);限1人选的题目只能由1人单独完成(B级); 设计总体要求:采用模块化程序设计;鼓励可视化编程;源程序中应有足够的注释;学生可自行增加新功能模块(视情况可另外加分);必须上机调试通过;注重算法运用,优化存储效率与运算效率;需提交源程序(含有注释)及相关文件(数据或数据库文件):提交设计报告书,具体要求见以下说明。设计报告格式:目录课程设计任务书(功能简介、课程设计要求);系统设计(包括总体结构、模块、功能等,辅以程序设计组成框图、流程图解释);模块设计(主要模块功能、源代码、注释(如函数功能、入口及出口参数说明,函数调用关系描述等);调试
3、及测试:(调试方法,测试结果的分析与讨论,截屏、正确性分析);设计总结:(编程中遇到的问题及解决方法);心得体会及致谢;参考文献2.1 功能要求 对某地给水管网D=200mm以上的管道进行了单位造价的综合分析计算。造价构成包括:(1)管材价格;(2)运输管理费用;(3)施工费用;(4)挖填沟槽费用;(5)路面修复费用;(6)消火栓费用;(7)闸门费用;(8)闸门井、支墩等构造物;(9)管配件费用;(10)特殊措施费用。得到管径与单价如表所示。 表1 管径造价表管径D(mm)200250300350400450500单价C(元/m)管径D(mm)600700800900100011001200单
4、价C(元/m)试采用常规回归分析,通过C语言编程确定管道造价的数学模型参数。管道造价的数学模型:C=a+b*Dz 式中:D管径(m); C单位造价(元/m); a,b,z系数。查找得黄金分割最小二乘法:给排水管道系统的造价对于整个给排水系统工程来说尤为重要,管道的造价按管道单位长度造价乘以管段长度计算。通过建立水管单位长度造价与管道直径的关系,通过优化算法以最小化水管建设投资。传统的方法应用作图法和黄金分割最小二乘法。作图法本身就很粗糙,并且还要画图,受每个人的眼力影响较大,因此应用性不大。黄金分割最小二乘法作为一种迭代方法,容易获得局部最优解,因此其结果明显优于其他方法。在我们研究两个(x,
5、y)之间的相互关系时,通常可以得到一系列成对的数据(x1,y1.x2,y2. xm,ym);将这些数据描绘在x -y直角坐标系中,若发现这些点在一条直线附近,可以令这条如(式1-1)。Yj= a0 + a1 Xi (式1-1)其中:a0、a1 是任意实数为建立这直线方程就要确定a0和a1,应用最小二乘法原理,将实测值Yi与利用(式1-1)计算值(Yj=a0+a1X)的离差(Yi-Yj)的平方和(Yi - Yj)2最小为“优化判据”。令: = (Yi - Yj)2 (式1-2)把(式1-1)代入(式1-2)中得: = (Yi - a0 - a1Xi)2 (式1-3)当(Yi-Yj)平方最小时,可
6、用函数 对a0、a1求偏导数,令这两个等于零。2(a0 + a1*Xi - Yi)(式1-4)2*Xi(a0 + a1*Xi - Yi)(式1-5)亦即:na0 + (Xi ) a1 = Yi (式1-6)(Xi ) a0 + (Xi2 ) a1 = (Xi*Yi) (式1-7)得到的两个关于a0、 a1为未知数的两个方程组,解这两个方程组得出:a0 = (Yi) / n - a1(Xi) / n (式1-8)a1 = nXi Yi - (Xi Yi) / nXi2 - (Xi)2 ) (式1-9)这时把a0、a1代入(式1-1)中, 此时的(式1-1)就是我们回归的元线性方程即:数学模型。在
7、回归过程中,回归的关联式是不可能全部通过每个回归数据点(x1,y1. x2,y2.xm,ym),为了判断关联式的好坏,可借助 “R”, “F”,剩余标准偏差“S”进行判断;“R”越趋近于 1 越好;“F”的绝对值越大越好;“S”越趋近于 0 越好。R = XiYi - m (Xi / m)(Yi / m)/ SQRXi2 - m (Xi / m)2Yi2 - m (Yi / m)2 (式1-10) *在(式1-1)中,n为,即实验次数;Xi、Yi分别任意一组实验X、Y的数值。1a) 输入信息:将数据的组数N和每一个管径D以及其对应的单位造价C输入。b) 数据计算: A) 计算各管径的和;B)计
8、算各单价的和;C)计算各单价的z次方的和;D)计算各单价的两倍z次方的和;E)计算各单价的和的z次方。c) 存储数据:定义一个新的数组将得到的数据记录进去。d) 比较数据: 采用冒泡法进行比较,得出最小线性拟合方差时的系数值。e) 输出结果 主菜单输入功能求和功能计算功能排序功能输出功能退出程序工作程序分析 输入信息:将数据的组数14和每一个管径D以及其对应的单位造价C按表格所提供数据输入。管径D(mm)200250300350400450500单价C(元/m)管径D(mm)600700800900100011001200单价C(元/m)数据求和: A) 计算各管径的和;B)计算各单价的和;C
9、)计算各单价的z次方的和;D)计算各单价的两倍z次方的和;E)计算各单价的和的z次方。 计算功能:将中所得结果代入黄金分割最小二乘法的公式 存储记录:定义一个数组将每一组所得a,b ,存入。 排序记录:采用冒泡法,逐个比较新定义的数组中的值,出最小,并求出此时对应的啊a,b,z。 退出程序。3. 模块设计#include /这是编译预处理指令#include /程序中要调用求平方根函数sqrt和求次方函数powint main() /定义主函数 /主函数开始 float qhadd(float s21000,int e,int d); /对被调用函数qhadd的声明 float qhad(fl
10、oat k21000,int f,int g,float z); /对被调用函数qhad的声明 float qha(float p21000,int q,int t,float z); /对被调用函数qha的声明 float qh(float o21000,int r,int v,float z); /对被调用函数qh的声明 float q(float o21000,float r,float v,int n,float z); /对被调用函数q的声明 float z,min; /定义a1,b1,c,z,min为单精度浮点型变量 int i,j,N; /定义i,j,N为整型变量 float a
11、1000,b1000,K1000; /定义a为包含1000个元素的一维数组 /定义b为包含1000个元素的一维数组 /定义k为包含1000个元素的一维数组 printf(Please enter N=); /输出所指定的一行信息 scanf(%d,&N); /输入变量N的值 float g21000,C,D,C1,D1,D2,D3,D4; /定义g为2*1000的二维数组 /定义C,D,C1,D1,D2,D3,D4为单精度浮点型变量 for(j=0;j2;j+) /控制循环次数,j由0变到1,共循环2次 for(i=0;iN;i+) /控制循环次数,i由0变到N-1,共循环N次 scanf(%
12、f,&gji); /执行循环体,输入二维数组g C=qhadd(g,1,N); /调用qhadd函数,得到第二行所有元素的加和,放在C中 D=qhadd(g,0,N); /调用qhadd函数,得到第一行所有元素的加和,放在D中 for(i=0,z=1;z=2;i+) C1=qhad(g,1,N,z); D1=qhad(g,0,N,z); D2=qha(g,0,N,z); D3=qh(g,0,N,z); ai=(C*D3-D2*D1)/(N*D3-pow(D1,2); bi=(C-ai*N)/D1; D4=q(g,ai,bi,101,z); Ki=sqrt(D4/N); z=z+0.01; fo
13、r(i=0,j=0,min=K0;i100;i+) if(Ki=min) min=Ki; j=i; printf(C=%fnD=%fnC1=%fnD1=%fnD2=%fnD3=%fn,C,D,C1,D1,D2,D3); printf(a1=%fnb1=%fnz=%fn,aj,bj,1+0.01*j); return 0;float qhadd(float s21000,int e,int d) /定义qhadd函数 float sum=0; int x; for(x=0;xd;x+) sum=sum+sex; /累加求和 return(sum);float qhad(float k21000,
14、int f,int h,float z) /定义qhad函数 float su=0; int y; for(y=0;yh;y+) su=su+pow(kfy,z); /累加求和 return(su);float qha(float p21000,int q,int t,float z) /定义qha函数float s=0; int u; for(u=0;ut;u+) s=s+(p(q+1)u)*(pow(pqu,z); /累加求和 return(s);float qh(float o21000,int r,int v,float z) /定义qh函数float l=0; int w; for(
15、w=0;wv;w+) l=l+pow(orw,(2*z); /累加求和 return(l);float q(float o21000,float r,float v,int n,float z) /定义q函数 int i;float sum=0;for(i=0;in;i+)sum=sum+(r+v*(pow(o0i,z)-o1i); /累加求和return(sum);4. 调试及测试 开始界面: 输入信息:输入数据的组数:输入管径:输入单位造价: 输出结果:调试中的问题:问题分析程序显示在定义数据类型时,double和float型之间的转换存在数据可能丢失的警告,但对于本题而言,数据不会溢出,
16、因此暂认为可以。而且在全部定义为double型数据时易出现一些问题。所以个人在设计程序时将部分不会存在数据溢出的变量定义为float型。设计总结当初一看到这个题是首先想到的是日常生活中较为常用的画图法,但经过仔细研究题目和所给表格中的数据小数点要求较为精确,而画图法较为粗糙,因此画图法在此题中不太适合。之后我去校图书馆查看了一些和造价工程以及数学建模等方面有关的书籍,找出了黄金分割最小二乘法,发现此方法容易获得最优解,其结果明显优于其他方法,于是决定采用黄金分割最小二乘法的公式及原理来编写程序求解此题的系数。在编写成程序时,为了黄金分割最小二乘法的公式的计算方便定义了5个函数,求取一些在黄金分
17、割最小二乘法的公式中需要用到的值。此外,本题中取百分之一为精确单位,若在某些工程中需要更为精确的计算结果,只需改变此程序中的几个数值即可精确到万分之一甚至百万、亿分之一。6. 心得体会及致谢 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此 作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。 回顾起此次课程设计,至今让我我们仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,在这一个星期的日子里,可以学到很多很多的的东西,
18、同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体通过这次课程设计之后,一定把以前所学过的知识重新温故。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在卢老师的辛勤指导下,终于游逆而解。同时,在卢老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度个人贵金属交易融资合同范本民间版4篇
- 二零二五年度网络安全股份公司成立股东数据安全协议3篇
- 2025版危险品运输驾驶员劳动合同标准范本3篇
- 2025年高标准围墙建设及维护服务合同细则3篇
- 二零二五年酒类企业产品追溯与防伪技术合作合同3篇
- 2024破桩劳务分包合同
- 2025年食堂承包合同补充协议强调食品安全与卫生规范3篇
- 与物业公司合同范本(2024版)
- 郑州科技学院《艺术考察与创新设计》2023-2024学年第一学期期末试卷
- 2025年度户外景观门窗工程分包合同范本8篇
- 南通市2025届高三第一次调研测试(一模)地理试卷(含答案 )
- 2025年上海市闵行区中考数学一模试卷
- 2025中国人民保险集团校园招聘高频重点提升(共500题)附带答案详解
- 劳务派遣招标文件范本
- 信息安全意识培训课件
- Python试题库(附参考答案)
- 碳排放管理员 (碳排放核查员) 理论知识考核要素细目表三级
- 2024年河北省中考数学试题(含答案解析)
- 小学二年级数学口算练习题1000道
- 纳布啡在产科及分娩镇痛的应用
- DZ/T 0462.4-2023 矿产资源“三率”指标要求 第4部分:铜等12种有色金属矿产(正式版)
评论
0/150
提交评论