extract vector from large vector

2 views (last 30 days)
Chaudhary P Patel on 6 Apr 2022
Commented: DGM on 6 Apr 2022
i have vector [0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ]
from this i have to extract 5 vectors which are;
[0 0 0 1 2 3]
[1 2 3 4 5 6]
[4 5 6 7 8 9]
[7 8 9 10 11 12]
[10 11 12 13 14 15]
how can write code for this.

DGM on 6 Apr 2022
Instead of generating a bunch of loose vectors, it's often better to just use a matrix:
A = [0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15];
B = repelem(reshape(A,3,[]),1,2);
B = reshape(B(:,2:end-1),6,[]).'
B = 5×6
0 0 0 1 2 3 1 2 3 4 5 6 4 5 6 7 8 9 7 8 9 10 11 12 10 11 12 13 14 15
DGM on 6 Apr 2022
Well then I guess you can make a bunch of vectors then.
A = [0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15];
myfirst6x1vector = A(1:6)
mysecond6x1vector = A(4:9)
mythird6x1vector = A(7:12)
myfourth6x1vector = A(10:15)
myfifth6x1vector = A(13:18)
...

Categories

Find more on Matrix Indexing in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!