Creating subvectors from a vector

Greetings of the day!
I have a vector X of length L. I would like to create multiple vectors from it using
X(i)=[X(mx0+b),X(mx1+b),X(mx2+b)....X(mxk+b)] where b=0,1,2,3,... m-1. where m is the number of sub vectors, k=L/m.
For example if m=4 and
X=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15];
then the output should be the following.
[0 4 8 12
1 5 9 13
2 6 10 14
3 7 11 15]

 Respuesta aceptada

the cyclist
the cyclist el 18 de Jul. de 2020
Editada: the cyclist el 18 de Jul. de 2020
reshape(X,[],4)
See the documentation for reshape for details. The empty square brackets there indicate that MATLAB should infer the length of the first dimension from the size of X (just as you want).

2 comentarios

Molepo Alfred
Molepo Alfred el 18 de Jul. de 2020
Thank you very much for the explannation.
It wasn't perfectly clear to me if you wanted k-by-4 or 4-by-k, since you happened to choose a 4-by-4 example, so you might need
reshape(X,4,[])
instead.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 18 de Jul. de 2020

Comentada:

el 18 de Jul. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by