how to arrange vector to matrix?

3 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
  1 Comment
PaulLe
PaulLe on 7 Nov 2021
Thank you sir. But is there any other help?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!