问题描述
我正在尝试通过if语句在excel中迭代求解Colebrook方程。
到目前为止,这是我的if语句,但是我不确定如何使用excel中的代码来实现迭代计算。
A1 = 2500
A2 = IF(A1<2300,64/A1,"")
A1的值是雷诺数,这会使if语句进入计算的假面。
这是科尔布鲁克方程。
B2 = 7.00E-05
C2 = 7.94E-04
B2是粗糙度ε,C2是直径D。
通常我可以在单元格A2中执行以下迭代技术
A2 = 64/A1 % initial guess,this is for the laminar case but I need the turbulent value for Re > 2300
A3 = 1/(-2*LOG10((B2/C2)/3.7 + 2.51/(A1*SQRT(A2))))^2
,然后设置A2 = A3,同时启用迭代功能,最大迭代次数为100,最大变化为0.001。但是我不确定如何在if语句中实现这一点,因为我的其他Re值小于2300,其中f = 64 / Re。除了if语句外,是否可以使用类似于此方法的迭代技术。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)