How do I plot a certain interval?
412 views (last 30 days)
Show older comments
Hi guys,
So I'm trying to plot an interval between [8 12], but I don't know where to start, as I'm not using x-values in my function.
So this is the idea:
And this is my script:
for N = 8;
Mc = [-2:0.01:15]*N;
Pi_c = 1+(2*N-1)*(3-2*Mc/N).*(Mc/N).^2;
end
plot(Mc,Pi_c,'k')
axis([-4 13 1 17])
xlabel('m_c')
ylabel('pressure ratio')
title('Simplified compressor characteristic')
Any help would be greatly appreciated!
0 Comments
Accepted Answer
Star Strider
on 23 Mar 2019
This will overplot the region (8,12) with a red dashed line:
for N = 8;
Mc = [-2:0.01:15]*N;
Pi_c = 1+(2*N-1)*(3-2*Mc/N).*(Mc/N).^2;
end
plot(Mc,Pi_c,'k')
hold on
McIdx = (Mc >= 8) & (Mc <= 12); % Select Elements (Logical Vector)
plot(Mc(McIdx), Pi_c(McIdx), '--r') % Plot Range
hold off
axis([-4 13 1 17])
xlabel('m_c')
ylabel('pressure ratio')
title('Simplified compressor characteristic')
Experiment to get the result you want.
2 Comments
More Answers (1)
John D'Errico
on 23 Mar 2019
I'm confused. That you are not using x-values does not seem relevant. You plotted Mc on the horizontal axis.
Next, the line:
for N = 8
Does not create a loop. Well, it does, but the loop has length only one step, at N=8. All it does is assign the value of 8 to N.
Next, you want Mc to lie between 8 and 12.
N = 8;
Mc = linspace(8,12,100);
Pi_c = 1+(2*N-1)*(3-2*Mc/N).*(Mc/N).^2;
plot(Mc,Pi_c)
Which is only the region you seem to be interested in. We can even add some white space on the axes, to show you that indeed, only the part of interest was created.
axis([-4,13,0,17])
See Also
Categories
Find more on Annotations 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!