MATLAB Answers

How to get certain matrix columns.

1 view (last 30 days)
Hello,
I'm having trouble trying to get certain matrix columns. Let's say I have Matrix A:
A = [1 2 3 4 5 6 7 8 9 10 11 12; 13 14 15 16 17 18 19 20 21 22 23 24]
Let's say I'd like to get every third value starting in position 1. Then I would use this code:
A(:,1:3:end)
My issue is that I'd like to skip four positions and get the next two. This would be my output if I started from the first position:
Output = [1 2 7 8; 13 14 19 20]
I could get every column manually but since I'm working with big matrixes and different sizes it woldn't be convininient.
Can someone come around a solution for this?
Thnak you in advance,
Santos

Accepted Answer

Stephan
Stephan on 21 Apr 2021
Edited: Stephan on 21 Apr 2021
A = [1 2 3 4 5 6 7 8 9 10 11 12; 13 14 15 16 17 18 19 20 21 22 23 24]
A = 2×12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
A1 = reshape(A',2,[])
A1 = 2×12
1 3 5 7 9 11 13 15 17 19 21 23 2 4 6 8 10 12 14 16 18 20 22 24
b = A1(:,1:3:end)
b = 2×4
1 7 13 19 2 8 14 20
b = b(:)'
b = 1×8
1 2 7 8 13 14 19 20

More Answers (0)

Community Treasure Hunt

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

Start Hunting!