Taking every nth element from each column in a matrix

Hello,
I have a 10x5 matrix:
A = randi(10,10,5);
A =
2 8 7 1 4
9 8 8 1 7
4 8 2 8 8
3 3 2 10 6
8 7 6 7 8
1 6 5 2 3
1 4 9 8 8
7 1 8 2 10
7 8 8 2 9
6 4 1 7 1
I would like to make another matrix (B) that contains every 2nd element from each column of A, such that
B =
9 8 8 1 7
3 3 2 10 6
1 6 5 2 3
7 1 8 2 10
6 4 1 7 1
Thank you.

 Accepted Answer

Henry - try grabbing every other row as
B = A(2:2:end,:);
In the above we use 2:2:end to start at row two and consider every other row thereafter (with the second 2) until we reach the end of the rows. The second parameter, :, indicates that we want all column data.
Try the above and see what happens!

8 Comments

Thank you!! this is what I need!!
How do you do this if it is a complex vector?
Khyati - why would it matter if the array contains complex numbers? Or is there a particular structure to your array in that the first element is the real part of number A, the second element is the complex part of number A, etc.?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!