Plotting within for loop

4 views (last 30 days)
Sudharsan Srinivasan
Sudharsan Srinivasan on 18 Jul 2017
Edited: Jan on 19 Jul 2017
Lets say for example I have a variable t = 1:1:5000. I want to execute my "for" loop from 1 to 5000 time steps. Within the "for" loop I have another variable u (which is a single vector value) that changes every time step within the loop. Now I have to plot 't' Vs 'u' within the loop such that the value of u is plotted in the graph for lets say every 50 time steps.
How can I code this?
Thank you

Answers (1)

Geoff Hayes
Geoff Hayes on 18 Jul 2017
Sudharsan - does this mean that the first 50 elements of u are plotted against t=1:50, the second 50 elements of u are plotted against t=51:100, etc.? If so, then try
u = zeros(50,1);
k = 1;
for t=1:5000
u(k) = randi(255);
k = k + 1;
if mod(k,50) == 0
plot(t-49:t, u);
k = 1;
end
end
  2 Comments
Sudharsan Srinivasan
Sudharsan Srinivasan on 19 Jul 2017
Hello Geoff,
I mean to say that after every 50 time step i want the value of 'u' to be plotted in the graph. u (velocity) is a single vector value that gets updated in my loop for every time step. I wanted to check if the value of 'u' has reached steady state.
And about your code, I did not understand the use of generating random integers.
Jan
Jan on 19 Jul 2017
Edited: Jan on 19 Jul 2017
@Sudharsan Srinivasan: The random numbers are generated to have some test data for the demonstration. In your code, they are replaced by the original data.
Geoff's code does exactly what you are asking for, except for the check of the steady state, whiich you did not menation in the original question. +1

Sign in to comment.

Categories

Find more on Graph and Network Algorithms in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!