Why is my second plot only coming up when I run the program?

3 次查看(过去 30 天)
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')

采纳的回答

Star Strider
Star Strider 2014-11-8
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).

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Distribution Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by