How to Plot a Function Contained in a for Loop (Plots not showing up)
Show older comments
Hey guys I have a code in which a function is contained within a for loop. I'm trying to plot the output values against the number of times my for loop runs. When I try to plot my graphs I get them, however, there's no actual plots on the graph. All I get is an empty graph however the x and y coordinates are ranged correctly. Anyone have any idea how I can make the values appear on the graphs? I've also going into the graphs Property Editor and tried assign values there as well but to no avail. When I tried to plot something simple I was about to get a line on my graph so not too sure what's wrong. Thanks in advance!
for r = 10:1:20
[massratio,nth] = DesignProj(r)
end
%massratio versus r
figure(1)
plot(r,massratio)
xlabel('Pressure Ratio')
ylabel('Mass Ratio')
title('Mass ratio versus Pressure Ratio')
%nth versus mass
figure(2)
plot(nth,massratio)
xlabel('Thermal Efficency')
ylabel('Mass Ratio')
title('Thermal Efficency versus Pressure Ratios')
The Function is as follows
function [ massratio, nth ] = DesignProj( r )
T8 = 300; % K
h8 = 300.19; % kj/kg
Pr8 = 1.386;
nC = 0.82;
T10 = 1100; % K
h10 = 1161.07;
Pr10 = 167.1;
nT = 0.86;
T12 = 420;
h12 = 421.26;
h1 = 191.81;
v1 = 0.00101; % m^3/kg
P2 = 800;
P1 = 10;
h3 = 720.87;
v3 = 0.001115;
P4 = 5000;
P3 = 800;
P5 = 5000; % kpa
T5 = 350; % C
h5 = 3069.3;
s5 = 6.4516;
P6 = 800;
s6s = 6.4516;
s6f = 2.0457;
s6fg = 4.6160;
h6f = 720.87;
h6fg = 2047.5;
P7 = 10;
s7 = 6.4516;
s7f = 0.6492;
s7fg = 7.4996;
h7f = 191.81;
h7fg = 2392.1;
wdotnet = 280000; % kw or kj/s
% Interpolation Values
y1 = 15.31;
y2 = 14.38;
x1 = 596.52;
x2 = 586.04;
Pr9 = r*Pr8;
h9s = x2 + ((x1-x2).*(Pr9-y2))/(y1-y2);
h9 = h8 + ((h9s-h8)/nC);
Pr11 = (1/r).*Pr10;
h11s = x2 + ((x1-x2).*(Pr11-y2))/(y1-y2);
h11 = h10 - nT.*(h10-h11s);
w1in = v1.*(P2-P1);
h2 = h1 + w1in;
w2in = v3.*(P4-P3);
h4 = h3 + w2in;
x6s = (s6s-s6f)/s6fg;
h6s = h6f+x6s.*h6fg;
h6 = h5-nT.*(h5-h6s);
x7s = (s7-s7f)/s7fg;
h7s = h7f+x7s.*h7fg;
h7 = h5-nT.*(h5-h7s);
massratio = (h5-h4)/(h11-h12);
y = (h3-h2)/(h6-h2);
wT = nT.*(h5-h6+(1-y).*(h6-h7));
wNS = wT-(1-y).*w1in-w2in;
wNG = (h10-h11)-(h9-h8);
wN = wNG+(1/massratio).*wNS;
mA = wdotnet/wN;
qdotin = mA.*(h10-h9);
nth = wdotnet/qdotin;
end
Accepted Answer
More Answers (0)
Categories
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!