p=1.23;
D=.005;
V=40;
mu=1.7910^-5;
e=.0015;
Re=pVD/mu;%reynolds number equation
f=@(x)(1/sqrt(x)+2log(e/(3.7D)+2.51/(Resqrt(x))));
a=.008;
b=.08;
while abs(b-a)>1e-9
c=(a+b)/2;
if f(a)*f(c)<0
b=c;
else
a=c;
end
end
fprintf('Root found: %.10f\n',c)
fprintf('Function value at root %E\n',f(c))

1 commentaire

Walter Roberson
Walter Roberson le 13 Déc 2020
Fatih Güler: your question does not contain any advertisement, so it is not spam.

Connectez-vous pour commenter.

 Réponse acceptée

Ive J
Ive J le 13 Déc 2020
Correct these two lines
Re=p*V*D/mu;%reynolds number equation
f=@(x)(1/sqrt(x)+2*log(e/(3.7*D)+2.51/(Re*sqrt(x))));

Plus de réponses (1)

Walter Roberson
Walter Roberson le 13 Déc 2020

0 votes

MATLAB has absolutely no implied multiplication. If you want p multiplied by V multiplied by D then you need p*V*D not pVD .
... otherwise if you had an m and a u variable, how would it know whether that division by mu was division by the variable mu or division by (m * u) or division by m and then multiplication by u ?

Catégories

En savoir plus sur Startup and Shutdown dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by