用Excel迭代内部和If语句求解Colebrook方程

问题描述

我正在尝试通过if语句在excel中迭代求解Colebrook方程。

到目前为止,这是我的if语句,但是我不确定如何使用excel中的代码来实现迭代计算。

A1 = 2500
A2 = IF(A1<2300,64/A1,"")

A1的值是雷诺数,这会使if语句进入计算的假面。

这是科尔布鲁克方程。

Colebrook

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 (将#修改为@)