Why is my second plot only coming up when I run the program?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I have a function file and script file that both work well together, but out of the two plots I am trying to show when I run the program, only the second one shows up. Can anyone tell me why this is happening?
My function file:
function ff = fCW()
F = @(f,Re) 2*log10(Re*sqrt(f))-0.8-(1/sqrt(f));
Re = linspace(1e4,1e7,121);
ff = zeros(size(Re));
for k = 1:length(Re)
ff(k) = fzero( @(f) F(f,Re(k)), 0.05 );
end
end
My script file:
FCW = fCW();
Re1=linspace(1e+4,1e+7,121); NRe1=length(Re1);
fB = zeros(size(Re1)); fSJ = fB;
for i=1:NRe1
fSJ(i)=0.25/(log10(5.74/Re1(i)^0.9))^2;
fB(i)=0.3164/Re1(i)^0.25;
end
plot(Re1, FCW, Re1, fSJ, Re1, fB)
xlabel('Reynolds Number'); ylabel('Dimensionless Friction Factor');
title('Three Friction Factor Correlations for Smooth Pipes')
legend('Colebrook-White Correlation', 'Swamee-Jain Correlation',...
'Blasius Correlation')
plot(fB,FCW,fSJ,FCW)
xlabel('Dimensionless Friction Factor');
ylabel('Dimensionless Friction Factor');
legend('Ratio of Blasius to Colebrook-White Correlation',...
'Ratio of Swamee-Jain to Colebrook-White Correlation')
0 Commenti
Risposta accettata
Star Strider
il 8 Nov 2014
MATLAB will plot in the same open axes object unless it to create a new one.
Do this:
figure(1)
plot(Re1, FCW, Re1, fSJ, Re1, fB)
... CODE ...
figure(2)
plot(fB,FCW,fSJ,FCW)
... CODE ...
and they should both be visible (although you will probably have to toggle between them or offset them from one another to see them both).
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Data Distribution Plots in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!