直饮水秒流量计算与VB编程(1)
2015-06-08 02:34
导读:计算机应用论文论文,直饮水秒流量计算与VB编程(1)在线阅读,教你怎么写,格式什么样,科教论文网提供各种参考范例:摘要: 随着人民生活水平的提高,建筑给排水工程设计中的直饮水系统也越来
摘要: 随着人民生活水平的提高,建筑给排水工程设计中的直饮水系统也越来越多,工程设计中直饮水管道的秒流量 计算 也就显得比较重要了。
关键词: 直饮水 概率 使用概率 设计秒流量 函数 类 循环体 随着人民生活水平的提高,建筑给排水工程设计中的 直饮水 系统也越来越多,工程设计中 直饮水 管道的秒流量计算也就显得比较重要了。《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=0
mcnr×(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 doubledim tempjc as doubletempjc = 0do while n