Can't get my code to execute

1 view (last 30 days)
fartyards on 31 Aug 2022
Answered: Karim on 31 Aug 2022
So I was given this question to work on.
I tried to work on the code into mathlab and plot the graph but can't seem to execute and have no idea where go wrong. This is what I have for now.
Any help is appreciated, thank you.
D=[10.^-6:10.^-2] %Relative Roughness range
E=[108:4000]; %Reynolds number
f=A/log((1/3.7)*D+(C/E.^0.9)).^2; %Given Swamee-Jain formula
plot(D, f);
xlabel('Reynolds Number');
ylabel('Friction Factor f');
title('Friction Factor against Reynolds Number');
grid on

Accepted Answer

Karim on 31 Aug 2022
There were some minor mistakes, see below for the code with inline comments to explain the differences.
A = 1.325;
B = 3.7;
C = 5.74;
% number of e/d values, set to 3 as in the question
nD = 3;
% Relative Roughness range
D = linspace(10.^-6,10.^-2,nD);
% Reynolds number range
E = 108:4000;
% initialize a matrix for the friction factor values, as many rows as the
% ralative roughness range and as many columns as the reynolds number range
f = zeros( nD , numel(E) );
% evaluate the Swamee-Jain formula, in a loop, iterate over the relative
% roughness range
for i = 1:nD
f(i,:) = A ./ log( (1/3.7)*D(i)+(C./E.^0.9) ).^2;
% note that here we use ./ and .^ for element wise operations
plot(E, f);
xlabel('Reynolds Number')
ylabel('Friction Factor f')
title('Friction Factor against Reynolds Number')
grid on

More Answers (0)


Find more on 2-D and 3-D Plots in Help Center and File Exchange


Community Treasure Hunt

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

Start Hunting!