How could I make a script for this ecuation where i can solve for f?

28 visualizaciones (últimos 30 días)
Jorge
Jorge hace alrededor de 19 horas
Comentada: Torsten hace alrededor de 17 horas
  5 comentarios
Walter Roberson
Walter Roberson hace alrededor de 18 horas
Editada: Walter Roberson hace alrededor de 18 horas
rng(655321)
epsilon = rand
epsilon = 0.3140
D = rand
D = 0.3864
Re = rand
Re = 0.1855
eqn = @(x) x + 2*log10(epsilon/D/3.7+2.51*x/Re);
X = fzero(eqn, [0 1e5])
X = 0.0533

Iniciar sesión para comentar.

Respuestas (1)

Walter Roberson
Walter Roberson hace alrededor de 19 horas
Editada: Walter Roberson hace alrededor de 18 horas
syms f epsilon D Re
Q = @(v) sym(v);
eqn = 1/sqrt(f) == -Q(2.0) * log(epsilon/D/Q(3.7) + Q(2.51)/(Re*sqrt(f)))
F = solve(eqn, f)
Warning: Solutions are only valid under certain conditions. To include parameters and conditions in the solution, specify the 'ReturnConditions' value as 'true'.
disp(char(F))
(86248369*D^2)/(1000*Re*epsilon - 18574*wrightOmega((500*Re*epsilon)/(9287*D) - log(251/(50*Re)))*D)^2
wrightOmega is a function in the Symbolic Toolbox
rng(655321)
epsilon = rand
epsilon = 0.3140
D = rand
D = 0.3864
Re = rand
Re = 0.1855
f = subs(F)
disp(char(vpa(f)))
322.8497917132456879511724468922
subs(eqn)
disp(char(vpa(ans)))
0.055654430712142653567619972363646 == 0.055654430712142653567619972363646

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by