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]

 Akzeptierte Antwort

the cyclist
the cyclist am 18 Jul. 2020
Bearbeitet: the cyclist am 18 Jul. 2020

1 Stimme

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 Kommentare

Molepo Alfred
Molepo Alfred am 18 Jul. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by