直饮水秒流量计算与VB编程_计算机论文.docVIP

直饮水秒流量计算与VB编程_计算机论文.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
直饮水秒流量计算与VB编程_计算机论文 直饮水秒流量计算与VB编程_计算机论文 摘要:随着人民生活水平的提高,建筑给排水工程设计中的直饮水系统也越来越多,工程设计中直饮水管道的秒流量计算也就显得比较重要了。 关键词:直饮水 概率 使用概率 设计秒流量 函数 类 循环体 随着人民生活水平的提高,建筑给排水工程设计中的直饮水系统也越来越多,工程设计中直饮水管道的秒流量计算也就显得比较重要了。 《2003全国民用建筑工程设计技术措施给水排水》中第3章第62页对直饮水管道的设计秒流量计算采用的是概率法进行计算。其计算步骤如下: 1.先计算出系统的最高日用水量Qd:Qd=N×qd 式中:N—系统服务的人数 qd—用水定额(L/d.人) 2.再计算出系统最大时用水量Qh:Qh=Kh×Qd÷T 式中:Kh—时变化系数 T—系统中直饮水使用时间(h) 3.然后计算出饮用水龙头的使用概率P:P=α×Qh÷(1800×n×Q0) 式中:α—经验系数,取0.6~0.9(一般取0.8) n—龙头数量 Q0—龙头额定流量(L/s) 4.根据使用概率P,求出瞬时高峰用水量龙头使用数量m: 5.求出瞬时高峰用水量Qs:Qs=Q0×m 在上述5个计算步骤中,第4步的计算在饮用水龙头数量少时尚可手算。如果龙头数量≥12个时,手算就很麻烦了。为此,书中特意列出了表3.1.9-3 《龙头设置数量达12个以上时的使用数量》。表中对于使用概率为0.005的整数倍进行详细列表,并且表中的数量仅局限于1500个龙头。在实际工程计算中,计算出的使用概率是0.005的整数倍的可能性是很小的,对于小数量的龙头,采用内插法求解时其误差可以忽略不计;但是数量大时,其误差影响就比较大。为此,我在利用程序求解方面作了一些尝试。 在上述5个计算步骤中,第4步是整个计算过程中最难求解的一步。瞬时高峰用水量龙头使用数量m是在n个龙头中,若0~m个龙头使用概率的总和不小于0.99,则m为设计秒流量发生时的同时使用龙头个数。 在n个龙头中,任意r个同时使用的概率为Pnr: Pnr=Cnr×(1-P)n-r×Pr 式中:Cnr为从n个不同元素中,每次取出r个不同的元素,不管其顺序组合成的组合数量: Cnr=n!÷ (r!× (n-r)!) 在n个龙头中,任意0~m个水龙头使用的概率总和不小于0.99,其表达式为 Pn=∑r=0mCnr×(1-P)n-r×Pr 因此,我们只要按r从0到m依次求出Pnr以及Pn,并判断Pn是否满足≥0.99;如果是,则m的值就是我们所求的解。具体编程流程如下:在上述编程流程中使用了一个Do while循环,并加了个计数器。这样,在满足条件跳出循环的时候,就可以得到m的值。 但是在计算程序执行过程中,由于VB编程软件自身对于计算结果的限制,对于Cnr=n!÷ (r!× (n-r)!)中的组合数,如果采用Integer变量,很容易就超出可计算的范围;如果采用Long变量或Double变量,则占用内存较多,且计算范围并未扩大很多。鉴于以上情况及所计算的概率值≤1,我考虑利用VB6提供的LOG函数(即数学函数中的ln),对上述公式进行了转换: ㏒(Cnr)=㏒(n!)- (㏒ (r!)+ ㏒ (n-r)!) ㏒(Pnr)= ㏒( Cnr)+ (n-r)㏒(1-P)+r㏒(P) 因此在程序中,需要专门设计两个新的类:第一个类,用来处理㏒(Pnr),其源程序如下: Function lnjc(n As Integer) As Double Dim tempjc As Double tempjc = 0 Do While n gt= 1 tempjc = tempjc + Log(n) n = n - 1 Loop lnjc = tempjc End Function 第二个类,用来处理㏒(Cnr),其源程序如下: Function lncjc(n As Integer, r As Integer, p As Double) As Double Dim tempcjc, temp0, temp1, temp2 As Double Dim n1 As Integer Dim nn, rr As Integer Dim temp As New lnjc tempcjc = 0: nn = n - r: n1 = nn: rr = r If r = 0 Then r = 1 temp0 = temp.lnjc(n) temp1 = temp.lnjc(r) temp2 = temp.lnjc(n1) tempcjc = temp0 - temp1 - temp2 temp1 = rr * Log(p) temp2 = nn * Log(1 - p) temp0 = tempcjc +

文档评论(0)

wyj199218 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档