Plotting within for loop

조회 수: 1 (최근 30일)
Sudharsan Srinivasan
Sudharsan Srinivasan 2017년 7월 18일
편집: Jan 2017년 7월 19일
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

답변 (1개)

Geoff Hayes
Geoff Hayes 2017년 7월 18일
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
Sudharsan Srinivasan
Sudharsan Srinivasan 2017년 7월 19일
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 2017년 7월 19일
편집: Jan 2017년 7월 19일
@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

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by