2

コールブルック方程式の近似をコーディングして摩擦係数を取得しようとしています。私はMatlabでこれを達成しましたが、pythonになると私のコードは機能しません。

import math
Re = 2300
eD=0.0009 
1/math.sqrt(friction)=-2*math.log10((((eD/3.7)+(2.51/Re))*(1.14-2*math.log10(((eD/2)+(21.25/Re**0.9))))))
print(friction)

私もこれを試しました

import math
def friction(Re, eD):
    eD= 0.0009
    Re= 2300
    f = -2*math.log10((((eD/3.7)+(2.51/Re))*(1.14-2*math.log10(((eD/2)+(21.25/Re**0.9))))))
    return 1/math.sqrt(f)

しかし、これも機能しません。

4

4 に答える 4

0

私はコールブルックの方程式を認識していませんが、次の行の式を想定しています。

1/math.sqrt(friction)=-2*math.log10((((eD/3.7)+(2.51/Re))*(1.14-2*math.log10(((eD/2)+(21.25/Re**0.9))))))

正解です。次のように再配置できます。

import math
Re = 2300
eD = 0.0009 
friction = (1/(-2*math.log10((((eD/3.7)+(2.51/Re))*(1.14-2*math.log10(((eD/2)+(21.25/Re**0.9))))))))**2
print(friction)

私たちに与える

friction = 0.05073525684035217
于 2020-01-21T15:46:26.020 に答える