how to arrange vector to matrix?

7 views (last 30 days)
PaulLe
PaulLe on 6 Nov 2021
Commented: PaulLe on 7 Nov 2021
Hi guys,
I have a vector: x = [1 2 3 4 5 6]
How to arrange this vector to new matrix, like this:
[1 2 3 4 5 6
2 3 4 5 6 1
3 4 5 6 1 2
4 5 6 1 2 3]
Thanks for your help.

Accepted Answer

Stephen23
Stephen23 on 7 Nov 2021
x = [1,2,3,4,5,6];
m = hankel(x(1:4),x([4:6,1:3]))
m = 4×6
1 2 3 4 5 6 2 3 4 5 6 1 3 4 5 6 1 2 4 5 6 1 2 3

More Answers (1)

Sudharsana Iyengar
Sudharsana Iyengar on 6 Nov 2021
You can try using the functions perms. or if you want cyclic permutations
x=[1,2,3,4,5,6];
v=perms(x)
v = 720×6
6 5 4 3 2 1 6 5 4 3 1 2 6 5 4 2 3 1 6 5 4 2 1 3 6 5 4 1 3 2 6 5 4 1 2 3 6 5 3 4 2 1 6 5 3 4 1 2 6 5 3 2 4 1 6 5 3 2 1 4
X=[1,2,3,4,5,6];
V=[X;circshift(X,1);circshift(X,2);circshift(X,3);circshift(X,4);circshift(X,5);]
V = 6×6
1 2 3 4 5 6 6 1 2 3 4 5 5 6 1 2 3 4 4 5 6 1 2 3 3 4 5 6 1 2 2 3 4 5 6 1

Categories

Find more on Images 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!