For loop: access values in between steps

Hi
I have a for-loop where first only certain rows of a matrix are dealt with:
for i = 1:3:100 %3 is an example step size, the step size is a variable in the program
%do something with rows 1, 4, 7, 10, 13, 16 ...
end
After this, the remaining rows, i.e. rows 2,3, 5,6, 8,9, ... need to be filled up using the data in the rows calculated above. I don't see which would then be the most optimal method to define this new for loop. Possibly, for loops aren't even the best way to approach this? Thanks for your input!

2 Comments

hello Simon
if your computations can be vectorize there is no need to do for loops here
now, if you have to do more complicated stuff like doing ode solving for example , there is no other way than doing it with a for loop
it all depends on what the computation is about
Hey Mathieu
The computations cannot be vectorized, I fear.
There is a small "scanning matrix" that hovers over the big matrix in which I adapt the rows depending on the interactivity between the data in the small and the large matrix, and this for each cell in the selected rows.

Sign in to comment.

 Accepted Answer

for i = 1:3:100
%do something with rows 1, 4, 7, 10, ...
end
for i = 2:3:100
%do something with rows 2, 5, 9, 11, ...
end
for i = 3:3:100
%do something with rows 3, 6, 10, 12, ...
end

4 Comments

Hi, I could indeed do this if the step size (in the example, 3) would be constant. But as mentioned in the comments on my sample code, this step size can vary (it can be 2, 3, 4, 5, ...) depending on the input parameters of the code. So this fixed number of additional loops is unfortunatly not an option, that's where I'm stuck.
I see. Maybe like this?
for i = 1:s:100
%do something with rows 2, 5, 9, 11, ...
end
for i = 1:s:100
for j = i+1:i+s-1
%do something with rows that were not treated yet
end
end
Yes that's it! I was looking for a way to note it all in one for-loop, but this nested loop does te trick. Thanks, Yvan!
You're welcome :-)

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements 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!