MATLAB Answers

How to iterate odd and even runs alternatively?

59 views (last 30 days)
Bee
Bee on 29 Apr 2016
Commented: Elias Gule on 9 May 2016
Hello there! I am trying to alternate between odd and even runs to do different things inside a for loop, i.e. the odd and even runs will be interdependent. For example: at t = 1, x1 = 10; at t = 2, x2 = x1+m; at t = 3, x1 = x2 ( derived from t = 2) +n and so on. The odd values of t indicate a local phase, for example and the even values of t indicate a global phase. I am trying to do this in the following way, but was wondering if there is a more efficient way to do this. Thanks for your time :)
while t < 1000
if mod(t,2)
% big block of code to calculate x using y
else
% big block of code to calculate y using x
end
end
  2 Comments
Bee
Bee on 4 May 2016
Hey Roger! This thing didn't come to my mind at all! It works perfectly for my purpose - simple and precise. Thanks a lot.

Sign in to comment.

Answers (1)

Elias Gule
Elias Gule on 29 Apr 2016
Let's try. Define variables needed for calculation.
x = [NaN,NaN];
t = 1;
m = 2; % any value you like.
n = -2; % any value you like.
Begin processing.
while t < 100
if mod(t,2)
if t == 1
x(1) = 10;
else
x(1) = x(2) + n;
end
else
x(2) = x(1) + m;
end
t = t + 1;
end
  2 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!