Can I use a for loop to access different pairs in a matrix?

I want to use a matrix as the input of a for loop, and reference different pairs of indices in the matrix as the variable for each iteration.
Say I have a matrix that looks like
1 4
2 5
3 6
I want the loop to choose [1 4],[1 5] then [1 6], then go back to the first column and choose [2 4], [2,5] and so on.
Is this possible?

 Accepted Answer

for idxpair = [1 1 1 2 2 2; 4:6 4:6]
That is, when "for" is given an array it iterates over the columns.
Normally though, you would use
for i1 = 1:2
for i2 = 4:6
...
end
end

More Answers (1)

for ii = 1:3
for jj = 4:6
do_stuff_with(ii,jj);
end
end
What operation are you doing with the two variables. It's possible you could use BSXFUN to do it all with one shot.

2 Comments

I have a for loop that I feed a number of variables. I'm wanting to look at a broad range of data from the variables, so I was looking for something slightly more elegant than a series of nested loops.
What does BSXFUN do?

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!