My line plot is not showing

I have a for loop with all its values that i want to plot but the graph shows up and the line doesn't (below for evaluation):
for i=1:Ns
t(i) = Tt2m/Tt_1;
p(i) = (t(i)^((G*e_c)/(G-1)));
Tt1= Tt2;
Tt2 = Tt2 + DT_t;
end
plot (1:Ns,p(i))

 Accepted Answer

Dave B
Dave B on 18 Oct 2021
Edited: Dave B on 18 Oct 2021
Did you want to plot 1:Ns vs p (without the i)?
plot(1:Ns,p)

3 Comments

No, I want to plot it with the i.
plot tries hard to match up the lengths of x and y, so plot(1:Ns, p(i)) is interpreted as plotting several line objects:
plot(1:10,1)
Looks like it plots nothing, but that's because MATLAB is plotting several lines with no length. You can see this if you add a marker:
plot(1:10,1,'o')
Note that they have separate colors, that's because they're separate line objects. This is particularly useful in cases where you have several series:
plot(1:100,randn(3,100))
If you drop the (i) I suspect you'll get the behavior you expect. If you just want to plot that last value (i.e. with the i) then maybe add a marker? But I'm not sure that would be a very useful plot...
Thanks for your help!

Sign in to comment.

More Answers (0)

Products

Release

R2021b

Tags

Asked:

on 18 Oct 2021

Commented:

on 18 Oct 2021

Community Treasure Hunt

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

Start Hunting!