How to solve this equation with matlab
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
hadi mohammadian
le 30 Déc 2020
Commenté : Walter Roberson
le 30 Déc 2020
clear all;
clc;
data8={'1','10','20','23','12','11'};
kk{1}='Internal pipe roughness (mm)';
kk{2}='Hydraulic diameter of pipe (m)';
kk{3}='Reynolds number ';
kk{4}='Pipe line length (m)';
kk{5}='Average pipe line velosity (m/s)';
kk{6}='Acceleration due to gravity (m/s^2)';
kkk=inputdlg(kk,'Head loss',1,data8);
e11=str2num(kkk{1});
d12=str2num(kkk{2});
re1=str2num(kkk{3});
l2=str2num(kkk{4});
v11=str2num(kkk{5});
g12=str2num(kkk{6});
eqn=(1/sqrt(f9)==(-2*log((e11/3.7*d12)+(2.51/re1*sqrt(f9)))));
solve('eqn','sqrt(f9)');
hf=(f12*l2*(v11^2))/(2*g12*d12);
fprintf('Friction factor in pipe = %f \n Head loss = %f (m) \n-----------------------------------------------\n',f1,hf);
Undefined function or variable 'f9'.
Error in Untitled (line 150)
eqn=(1/sqrt(f9)==(-2*log((e11/3.7*d12)+(2.51/re1*sqrt(f9)))));
2 commentaires
Walter Roberson
le 30 Déc 2020
e11=str2num(kkk{1});
d12=str2num(kkk{1});
re1=str2num(kkk{1});
l2=str2num(kkk{1});
v11=str2num(kkk{1});
g12=str2num(kkk{1});
are you sure that you want to use kkk{1} as the source for all of those str2num() ? That assigns the same value to each of the variables.
Réponse acceptée
Walter Roberson
le 30 Déc 2020
syms f9 f9sqrt
eqn=(1/sqrt(f9)==(-2*log((e11/3.7*d12)+(2.51/re1*sqrt(f9)))));
F9sqrt = solve(subs(eqn, f9, f9sqrt^2), f9sqrt)
5 commentaires
Plus de réponses (1)
Alan Stevens
le 30 Déc 2020
Strange way of entering data! However, one way to find the friction factor is a simple fixed point iteration method, such as
e11 = 1;
d12 = 10;
re1 = 20;
l2 = 23;
v11 = 12;
g12 = 11;
f9 = 1; % initial guess
tol = 10^-6;
err = 1;
% fixed point iteration
while err>tol
f9old = f9;
f9 = (-2*log10(e11/(3.7*d12)+2.51/(re1*sqrt(f9))))^-2;
err = abs(f9-f9old);
end
disp(f9)
Note that I've used log10 rather than log (the latter is log to the base e).
Voir également
Catégories
En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!