Put multiple loglog plots on one figure

Hello...I am trying to put 3 loglog plots on the same figure but this is not working. Any recommendations or small things I'm missing?
Thanks! :)
clear
clc
close all
format short
Re = 10^4:1000:10^8;
%Bruus
B = @(x) .25*(log((x/3.7)+(5.74./(Re).^.9)));
%Haaland
H = @(x) (1./(-1.8*log((x/3.7)^1.11+(6.9./Re)))).^2;
%Figure 1
eD1 = 0;
B1 = B(eD1);
H1 = H(eD1);
figure;
loglog(Re,B1,'r')
hold on
loglog(Re,H1,'--')
title('f vs. Re e/D = 0');
xlabel('Re');
ylabel('f');
legend('Bruus','Haaland');
grid on

Answers (1)

Isn’t this normal? because the domain of the log function starts from 0+ to wards positive infinity that’s why it’s ignoring negative arguments.

5 Comments

There’s nothing wrong with the code because you have used hold on option which is supposed to hold multiple plots in one figure but as i said there’s some malfunctioning in mathematics.
See in your B , log(0/3.7) is exactly the same as log(0) log doesn’t contain zero as it’s domain since it starts from 0+ as mentioned before :)
madhan ravi
madhan ravi on 31 Oct 2018
Edited: madhan ravi on 31 Oct 2018
okay so it should put them on the same graph? even when the mathematical error is fixed it still only puts one on the log scale graph. Is there something small I'm missing?
It should plot all the graphs if you fix the mathematical error.

Sign in to comment.

Categories

Find more on General Applications in Help Center and File Exchange

Products

Release

R2017a

Asked:

on 31 Oct 2018

Edited:

on 31 Oct 2018

Community Treasure Hunt

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

Start Hunting!