how can convert vector to array
4 次查看(过去 30 天)
显示 更早的评论
how can convert vector to array ; Ex:
a = [ 1 2 3 ];
i like to convert it to :
d = [ 1 0 0;
0 2 0;
0 0 3;
1 2 0;
1 0 3;
0 2 3;
1 2 3 ];
thanks
3 个评论
Walter Roberson
2015-8-23
In a duplicate question, the poster asked
Ex:
w = [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ]
I like to convert it to
g= [1 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 ;
0 0 3 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 ;
......until......... ;
0 0 3 4 5 6 7 8 9 10 11 12 13 14 15;
0 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]
that mean I have , rows=2^(2n-1) I got answer from _ the cyclist_ http://www.mathworks.com/matlabcentral/answers/235359-how-can-convert-vector-to- array . it was good answer, but it was active until 5 elements [ 1 2 3 4 5 ]. thank you - the cyclist _
回答(1 个)
the cyclist
2015-8-23
If the exact ordering is not important, then you could do
P = perms([1 2 3 0 0])
Q = unique(sort(P(:,1:3),2),'rows')
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Workspace Variables and MAT-Files 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!