how to arrange vector to matrix?

4 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 Image Processing Toolbox 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!