how to arrange vector to matrix?

4 次查看(过去 30 天)
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.

采纳的回答

Stephen23
Stephen23 2021-11-7
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

更多回答(1 个)

Sudharsana Iyengar
Sudharsana Iyengar 2021-11-6
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

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by