赞
踩
借鉴课堂上的试错法,使用代码快速完成对稳定入渗率fc的推求。
pe_list = [1.6,13.4,39.1,25.2,2.7,0.2,3.9] r_list = [1,9.8,37.7,25.2,2.7,0.2,3.9] a_list = [0.62,0.73,0.96,1,1,1,1] rg_actual = 52.5 # 试错法 fc error = 100 def calculate_rg(c): fc = c*0.1 RG1 = 0 for i in range(len(pe_list)): a = a_list[i] # 径流系数a = 1 则表明已经蓄满 小于1则说明未蓄满 if a == 1: rg = pe_list[i] rs = r_list[i]-rg if pe_list[i]> fc: rg = fc else: if pe_list[i] > fc: rg = fc * a_list[i] rs = r_list[i] - rg else: rg = r_list[i] RG1 += rg return RG1,fc #输出结果分别为计算的地下径流、对应的fc值、以及与实测值的误差的绝对值。 for i in range(200): result = abs(calculate_rg(i)[0] - rg_actual) if result < error: error = result print(calculate_rg(i)[0]," ",calculate_rg(i)[1]," ",error)输出结果为:
可以发现误差已经非常小了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。