How do I plot a certain interval?

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:
34522.JPG
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!

 Accepted Answer

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

OMG you are amazing! Thank you so much!
As always, my pleasure!

Sign in to comment.

More Answers (1)

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)
untitled.jpg
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])
untitled.jpg

1 Comment

Hi John, thank you very much for the explanation!

Sign in to comment.

Asked:

on 23 Mar 2019

Commented:

on 23 Mar 2019

Community Treasure Hunt

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

Start Hunting!