How can I repeat the code for multiple timesteps?

2 次查看(过去 30 天)
Hi, I need to write a code to let a particle move multiple timesteps, where the timesteps can be any number (e.g. 2 or 50). The situation is the following, I have an array where a x-coordinate, an y-coordinate and the direction are in:
Q =
1 2 1
1 3 1
3 3 2
3 1 1
2 3 2
To make it easy, x and y can be 1, 2 or 3 and the direction can be 1 or 2. The direction I have defined as:
if Direction == 1 %If the direction ==1 then x stays equal but y becomes 1 higher
x = x
y = y + 1
end
if Direction == 2 %If the direction ==2 then y stays equal but x becomes 1 higher
x = x + 1
y = y
end
But how can i let this repeat for multiple time steps, because, like the code above is now, this should happen in one timestep where this timestep (dt) is set.

采纳的回答

Walter Roberson
Walter Roberson 2018-11-26
for stepnum = 1 : 100
.... your existing lines
end
  2 个评论
Danny Helwegen
Danny Helwegen 2018-11-26
Matlab doesn't recognises stepnum, do i first have to define this?
Walter Roberson
Walter Roberson 2018-11-26
It is a for loop. for acts like a repeated assignment statement.
You can use whatever variable name is convenient for your purposes. For example,
for timestep_number = 1 : 100
... your existing lines
end
You could also use
for time = 0 : 0.01 : 5
.... your existing lines
end
but in practice it is usually easier to iterate over step numbers than to iterate over times if you need to record data as you go along.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by