(完整word版)计算水塔水流量(word文档良心出品)_第1页
(完整word版)计算水塔水流量(word文档良心出品)_第2页
(完整word版)计算水塔水流量(word文档良心出品)_第3页
(完整word版)计算水塔水流量(word文档良心出品)_第4页
(完整word版)计算水塔水流量(word文档良心出品)_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数值分析课程设计报告第 15页,共 15页一、课程设计目的:1 .训练学生灵活应用所学数值分析知识,独立完成问题分析, 结合数值分析理论知识,编写程序求解指定问题。2 .初步掌握解决实际问题过程中的对问题的分析、系统设计、程序编码、测试等基本 方法和技能;3 .提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4 .训练用数值分析的思想方法和编程应用技能模拟解决实际问题,巩固、深化学生的理论知识,提高学生对数值分析的认知水平和编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风二、课程设计任务与要求:课程设计题目:计算水塔的水流量【问题描述】某居民区的民用自来水是由一个圆柱形的

2、水塔提供,水塔高12.2米,直径17.4米。水塔是由水泵根据水塔内水位高低自动加水,一般每天水泵工作两次, 现在需要了解该居民区用水规律与水泵的工作功率。按照设计,当水塔的水位降至最低水位,约8.2米时,水泵自动启动加水;当水位升高到一个最高水位,约 10.8米时,水泵停止工作。可以考虑采用用水率 (单位时间的用水量) 来反映用水规律,并通过间隔一段时间测量 水塔里的水位来估算用水率,原始数据表是某一天的测量记录数据,测量了28个时刻,但是由于其中有3个时刻遇到水泵正在向水塔供水,而无水位记录。试建立合适的数学模型,推算任意时刻的用水率、一天的总用水量。进一步:可自己增加一些新的计算功能。【问

3、题假设】1 .水塔中水流量是时间的连续光滑函数,与水泵工作与否无关, 并忽略水位高度对水流速度的影响。2 .水泵工作与否完全取决于水塔内水位的高度。3 .水塔为标准的圆柱体。体积 V=PI*D*D*h/4 其中D为底面直径,h为水位高。4 . 水泵第一次供水时间段为 8.967,10.954,第二次供水时间段为20.839,22.958。 【实验数据】原始数据(单位:时刻(小时),水塔中水位(米)时刻t00.9211.8432.9493.8714.9785.900水位h9.6779.4799.3089.1258.9828.8148.686时刻t7.0067.9288.9679.981110.9

4、2510.95412.032水位h8.5258.3888.220泵水泵水10.82010.500时刻t12.95413.87514.98215.90316.82617.93119.037水位h10.2109.9369.6539.4099.1808.9218.662时刻t19.95920.83922.01522.95823.88024.98625.908水位h8.4338.220泵水10.82010.59110.35410.180【实现提示】由问题的要求,关键在于确定用水率函数,即单位时间内用水体积,记为f,又称水流速度。如果能够通过测量数据,产生若干个时刻的用水率,也就是f(t)在若干个点的函

5、数值,则f(t)的计算问题就可以转化为插值或拟合问题。【实现要求】1、在处理每个题目时,要求分别从数据处理阶段和程序设计阶段两个主要阶段实现课程设计,详细的通过文字以及插图等形式,按需求分析、数据处理、算法设计、代码、计算结果和程序执行的截图 等若干步骤完成题目,最终写出完整的分析报告。前期准备工作 完备与否直接影响到后序上机调试工作的效率。在程序设计阶段应尽量利用已有的标准函 数,加大代码的重用率。2、设计的题目要求达到一定工作量,并具有一定的深度和难度。3、程序设计语言推荐使用 C/C+,程序书写规范,源程序需加必要的注释;4、每位同学需提交可独立运行的程序;5、每位同学需独立提交设计报告

6、书(每人一份),要求编排格式统一、规范、内容充实; 6、课程设计实践作为培养学生动手能力的一种手段,单独考核。三、课程设计说明书【需求分析】根据一组关于若干个时刻的水塔内水位高度的数据,经过必要的处理,得到一组若干个时刻的用水率的数据,然后根据这一组数据提出假设,建立合适的数学模型,通过C语言程序将该模型的一些参数求出来,最后得到一条能够拟合这一组若干个时刻的用水率的光滑的函数,进而推算出任意一个时刻的用水率,并计算出一天的总用水量。如果还有余力可以增加更多的实际计算要求。【数据处理概要】1 .关于原始数据中有三个时刻水泵是在泵水的处理:由问题假设可以知道水塔中水 流量是时间的连续光滑函数,与

7、水泵工作与否无关,如果将这三个时刻的数据忽 略不计,是不影响设计结果的。所以设计中忽略这三个时刻的数据。2 .关于确定求解哪些时刻的用水率问题:我采用每两个时刻的中间时刻和这两个时刻之间的时间段内的平均用水率作为最后的若干时刻的用水率。3 .关于数据处理过程中三个无数据时刻的处理:按照处理需要,适当的舍弃边缘的数据和错误的结尾数据 (比如要计算两个值的差, 最后一项后面已经没有数据了, 系统会在该数据后产生一个零,所以是错误的数据)。【详细设计】本设计报告按照我的设计步骤完成:1、将所给的数据中的时刻输入到Excel表格中,如下图所示:E I . P G |K| 小库丰水的体和外限出间用水体耙

8、中间时利用水率l85$5T«glcllla1314lElGLLllJ13lgM22233现SS6ZTE829小期A B _ C | 上丽1常划差普解函市间时到京位00. 9211.0452. 9493. ST14. 9T87. OOG 7. 9SS S. 967 乱物10. 925 10, 054 12, 032 12. 95-1 13. 8T5 U.9RS 15. 9Q3 16. 82& 37.931.13 03?19.湖 20. 339 22. 01E.22, 95823. BE 2% 4脂 国婚,h- Sluegtl / Sfaeeta / Sh»t3/2、计

9、算出每两个相邻的时刻之间的时间差(表格列B(n尸A(n+1)- A(n),然后除以2 (表格列C(n尸B(n)/2 )得到相邻两个时刻的中间时刻:3、将原始数据中的水位数据输入到该表格中:4、根据公式:V=PI*D*D*h/4 计算各个时刻水塔中水的体积(表格列E(n尸PI* D* D*表格列D(n)/4),然后求出各个时间段内用水的体积(表格列F(n尸D(n+1)-D(n):号1=J窝件# >M:i根型界热相域制工田功近阴百口炉现助卿片的0涧胃P 4;Jj U 3町剪w口,此必蚓气,修嘉章单一 必LJ11干,ft水库中不班ABCbE|FHI占时多.时型差普段时间口间的到水位水阵中不由体

10、积各裳li阿用乩体斗中间时刻同也中2口 Q. 9Z1(.46059. 6T72301. 06623147. 081 S552930.奠 10, 9221.3S2-47勺22s 1始必耨40-&61G023_J_1.8431,1 好2. 3转9.3阍2215.33277343.515048072169. EO77Z534. Q035G2161 5Z. 9dy 0. 92214L'?. L253. STI 1.1074我第 S. 32213&.圜如的胸.9朝剖加9工腐礴22匆7旃T54融74. 9相 0, 932瓦4融 g, 81435.91.1C66. 4K3 S. 6E

11、SZC65.dL916T33. 2B3730E2mT. 0060. 922孔4利 S. 525加却.霓32. 5T战油卸199d- 55S9T39. 9蛇£如1E6LD7. 93S1, 059比 4475 S. 3E311a 9&T L 014当474皮a1韭1610356% 9B10,纲司10.例13.IO,?250.02910. 93KL410.9541.0T31L4弟1也峻2572.85641T6.的 13股副IE12. 0320. 922】£4骄10.5网9队传向53毋,95耽设机工427. EO67S165.1536T3M1612. 9540. '

12、?2113LU14510.21L;13. ST5 1.1071.4, 428523&?. 65310267. 2937«2ff714 . 9830, 921飘/ y, 6转2295> 36中融5&国口吗ML¥IS. 9的0.必16. 365'?. 4a3修圻.33耍裆M.45黄S6阅,2C-16. S2§ I.IDS17.37ES9.1W2132- 83M1B&L5&6ST15221793.11.105】£. 4网E. 92L2121.29934761.536E71321221 女 0J70. 92219,

13、4鲍 8, 66-2即5曳T122将Z. 45地防圜_2S.1轧959。,聆品口, 33S. 4处凰口区盘驯198L 5粥6呢切1954.610354;2420. 3391. 17621.427B.222E-22. 0150,纲322,碱更曜脂醇鼠因r 482转脚比22, 9隔0, 9舞25.4J91爪混STZ3,BS 1.1C624. 43310. 591251E. '10365»56. 35555406j 1324.另% 0, 3225, 447 10. 3抬M&2,Q的134L匿为的M熊90S_ 1<Ql 12MW. H Sbeetl /ShflatS /

14、5、求中间时刻的用水率,即求该时间段(时亥I差)内的平均用水量(表格列G(n尸F(n)/B(n):<| Merosofl Ltd型环吉MF小1 - a.文件旧 剧15 ffiEd)防风工具B 范优面 £«1 WlOlBi,串一fl£ 口E S 3 jd5雅,nsF :F_, a ,aG1i'巾枷闽用水率ABcI?EFHL.12时则0时到差0. 921&段时间中间时豺 水位木即中禾的律相.各段时间用水体和也的05 9.67723m.崎鼠乳47.0S13552'9中间片刻艮永率5L 1203050. 9210. 9221.3824T922

15、53. &3437S钟,两1狗的4110152053上5: 7L0L1L2L5 ,U_ _LL.L£ LT L£ 及21 '比 23 别1,即3 gqg 3S714. 9T85,97, OK 7. 923SL967 务死110.泗 1 口涮32, OK 12. 954J 13 S7S14. 9B215.迎.1/106 Q. 922 LI婚 0.迤 1.106 0. 922 1. 039 1.014 0.甄4 0.婚 1.QT8,。阳 Q. 9ZI 1.1婚 0. 921 0.例23我9,303 我1工笈2m1.419.125Z169. B077Z5工养方g.

16、9822135.的区 4割8.8142C95. 85的整6. 4盼乱8蹒 凰6氏n91肝7. 4例B.525前室3M圜比 44T5E.3E31994. E5ES9T9. 4741B. 221 犯k 8103法10. 4E-3 位 939611. 4310.82372.85641用,4卷0,5 国为6冈E13. Jld5ID. ZL2-027.E067E111 式吃9. -93665310215u 44259.6532295.知羽匏1粒诲死S, 41?32237.处第T5好,515O4SOT 风口。脂团5 料.驯船q 口的 圜.陇T同制 38, 283730 52. 57楣2费 39. q附工小

17、。随愠 Q91837N65.15367S&9 67.23762875al 020D64 L 国YR256吃39, SM5需】 3E. ES021-925 球.尚的38M 33.01166479 3虫同强掰83 55. 3327沂4733, «8网Ta 5gM的判 刊.门四同事| TA.T4Z3Z197 网.789£3OTO262.的圈12方EB.995钢非 2I1I0瞄 17 911 1 且 017 1SL 的 20.咽1,1051.1D6 09220.081.1T61T.W 脂&,13 282-83Mlfl】2 4M B. 9ZI 2121. 299347

18、 19.拈S S. 662 就E1曳71爱花 20. 3的 S. 433 2C0S. 25翼 19 21.427B.22 1玄5立也中将1,5前混 &1.5SE3T1323.止,二:上6n电 S4B&&2&1的,T34?251g 生.的43321】 EI皑的的M57. 55s2粥乳HE22, 0150,纲3浣.招的就 2T _2L ¥22 953Z3,B824.雌25. 聆0,9221.1D60.132223.4391Q.葭Z572. E5694124. 43310.591Z51B. J036BU25. 4710. 3H2462 04813Uh IS加

19、2优即31%3.5325603访.35555406如4星L咤汨别网 51. 9543B3S5 4L &7&23183H 4 就讨* X5hagtX 5h""t2 Z 5h?(it3/l< L束.t曰诩niR研国£_T6、将中间时刻和中间时刻的用水率复制到另一张表中,以便处理(这时共产生22组数据):到这里所有的数据处理已经结束。接下来是研究数据所包含的规律,根据数据提出适当的数学模型,拟合一条光滑的连续的曲线。7、在Excel中有拟合曲线的工具,所以我先用Excel中的工具对这组数据进行了拟合*画出散点图:图表向导-4步鸵1 -图表赛型标段类

20、壬自京义类用图表芟型位)二子图麦类型d)按T不放可萱看示例四触消 ' K-QU占咸g*确定横纵坐标的意义:图吉向桥 4步景之3 -图看姻标题坐标轴网格维I囱例F塔丁制总cst制女看三水塔水绕里数值轴时更I 小时3数值on油5:用水率t立方米/小暇) 次分类的轴(x).次数值轴yy取消 <LT®I 丁一步心L完成但)*形成散点图:水塔水流量2BW/米松掴票旺*通过添加趋势线,来拟合光滑曲线:*得到拟合的函数曲线,以及表达式用水率函数OOOOOOOOO 87654321 £w至后)si*系列1多项式(系列Dy = -0. OOOlx5 + 0. 0104x4 -

21、0.32541 + $ 35弱1-21.169x + 64. 71= 0. 78371015202530时刻(小时)在Excel中就可以很方便的拟合出比较符合要求的曲线,并且可以得到函数表达式。然后开始尝试利用编程解决这个问题,也就是说用编程的方法得到相同的函数表达式!最小二乘法通常用于曲线拟合,所谓拟合是指已知某函数的若干离散函数值f1,f2,fn通过调整该函数中若干待定系数f(入1, 2,,入版导该函数与已知点集的差别(最小二乘意义)最小。如果待定函数是线性,就叫线性拟合或者线性回归 (主要在统计中),否则叫作非线性拟合或者非线性回归。表达式也可以是分段函数,这种情况下叫作样条拟合。通过求

22、解该函数中待而插值是指已知某函数的在若干离散点上的函数值或者导数信息,定形式的插值函数以及待定系数,使得该函数在给定离散点上满足约束。插值函数又叫作基否则叫作分域基。如果约束条件中函数,如果该基函数定义在整个定义域上,叫作全域基,只有函数值的约束,叫作Lagrange插值,否则叫作Hermite插值。从几何意义上将,拟合是给定了空间中的一些点,找到一个已知形式未知参数的连续曲面来最大限度地逼近这些点而插值是找到一个(或几个分片光滑的)连续曲面来穿过这些 点。可以看出利用最小二乘法拟合比较方便,我采用的函数形式为多项式函数,最高次为5。拟合部分代码执行结果如下:经过比较,可以发现在误差允许的范围

23、内通过Excel拟合出来的函数和通过编程而拟合出来的多项式是相统一的。然后再将该函数应用到Excel中,利用程序代码所求出来的多项式,画出一条光滑连续的曲线,如果这条曲线和最上面在Excel中,纯粹用Excel拟合出来的曲线相同的话表明拟合成功!1、按照递增的顺序,将从 0-24的数据输入到Excel中,如下图所示。并在第二列中输入公 式:=-0.00015*A2*A2*A2*A2*A2+0.012193*A2*A2*A2*A2-0.366317*A2*A2*A2+4.760591*A2*A2-22.665987*A2+66.02523如下图所示。将数据填充完毕:利用和上面的相同的方法,直接选

24、择光滑的曲线图,而不是选择散点图:第向导-d步骡之1-图表美茎标准类型目定义类型是图图 理胱腕 举柱条面XT三期肖一步上|越g然后就画出了一条曲线:代码拟合用水率系列1OOOOOOOO 7 6 5 4 3 2 1 (后W/米归揭)助考旺51015202530时刻(小时)经过比较,可以知道在误差允许的范围内数学模型已经成功建立!到这里该问题的数学模型已经建立好了(采用编程所得的结果进行建模和进一步的计算):f(t)=-0.00015t5+0.012193f-0.366317t3+4.760591t2-22.665987t+66.025230最后再通过编程计算任意时刻的用水率、一天的总用水量和水泵

25、的工作功率:任意时刻的用水率的算法简单,只要给出任意时间,根据上面的式子就可以求出;一天的总用水量为上式在 0-24内的积分V= / 024f(t)dt=-0.000025t6+0.0024386t5-0.09157925t4+1.58686367t3-11.3329935f+66.02523t+C024水泵的工作功率的计算方法是用一次的总泵水量除以泵水时间水泵泵一次水泵水量为:V=2*PI*D*D*(h2-h1)/4=2*3.1415926*17.4*17.4*(10.82-8.22)/4泵水时间为:T=t2-t1=(10.954-8.967)+(22.958-20.839)所以水泵的工作功

26、率为:P= p Vg(h2-h1)/2T其中p为水的密度(kg/m3), V为上面的体积(m3), g为重力单位(9.8N/kg)。然后将程序加以修改,将上述的三个求解功能加进去就完成了本次设计。最终源代码:#include<stdio.h>#include<math.h>#include<iostream.h>void yongShuiLv();void yongShuiLiang();void gongLv();void Approx(float,float,int,int,float);void main()int i;float a6; 多项式的待定

27、系数个数float x22=0.4605,1.382,2.396341,4.4245,5.439,6.4537467, 8.4475,11.493,12.493,13.4145,14.4285,15.4425,16.3645, 17.3785,18.484,19.498,20.399,23.419,24.433,25.447; 22 个时亥U的值float y22=51.12036405,44.10152093,39.3445281,36.88021926,36.08693844, 33.01166479,34.61458483,35.33279747,38.44874,70.58616637

28、,74.79205304, 70.74232197,60.78930702,62.99681227,58.99594462,55.73472518,55.68433211, 59.05993154,57.55529831,59.05993154,50.95438885,44.87523183; 1122 个时刻所对应的用水率Approx(x,y,22,5,a);for(i=0;i<=5;i+)printf("a%d=%fn",i,ai);printf("拟合多项式为nf(t)=(%f)*t*t*t*t*t+(%f)*t*t*t*t+(%f)*t*t*t+(%

29、f)*t*t+(%f)*t+(%f)n",a5,a4,a3,a2,a1,a 0);yongShuiLiang();gongLv();char s;while(1)/通过判断用户输入的字符是Y/N,来控制是否继续求某一时刻的用水率cout<<"您是否还要查询某日刻的用水率( Y/N ) : "<<endl;cin>>s;switch(s) case 'Y':yongShuiLv();break;case 'N':break;if(s='N')break;void Approx(flo

30、at x,float y,int m,int n,float a) (int i,j,t;float *c=new float(n+1)*(n+2);float power(int,float);void ColPivot(float *,int,float);for(i=0;i<=n;i+)(for(j=0;j<=n;j+)(*(c+i*(n+2)+j)=0;for(t=0;t<=m-1;t+)*(c+i*(n+2)+j)+=power(i+j,xt);*(c+i*(n+2)+n+1)=0;for(j=0;j<=m-1;j+)*(c+i*(n+2)+n+1)+=yj*

31、power(i,xj);ColPivot(c,n+1,a);delete c;void ColPivot(float *c,int n,float x)(int i,j,t,k;float p;for(i=0;i<=n-2;i+)(k=i;for(j=i+1;j<=n-1;j+)if(fabs(*(c+j*(n+1)+i)>(fabs(*(c+k*(n+1)+i)k=j;if(k!=i)for(j=i;j<=n;j+)(p=*(c+i*(n+1)+j);*(c+i*(n+1)+j)=*(c+k*(n+1)+j);*(c+k*(n+1)+j)=p;for(j=i+1;j&

32、lt;=n-1;j+)(p=(*(c+j*(n+1)+i)/(*(c+i*(n+1)+i);for(t=i;t<=n;t+)*(c+j*(n+1)+t)-=p*(*(c+i*(n+1)+t);for(i=n-1;i>=0;i-)(for(j=n-1;j>=i+1;j-)(*(c+i*(n+1)+n)-=xj*(*(c+i*(n+1)+j);xi=*(c+i*(n+1)+n)/(*(c+i*(n+1)+i);float power(int i,float v)(float a=1;while(i-)a*=v;return a;void yongShuiLv() 计算某时刻的用水率函数float t;cout<<"请输入任意一个时刻,程序将就算出该时刻的用水率"<<endl;cin>>t;floatf=-0.00015*t*t*t*t*t+0.012193*t*t*t*t-0.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论