how can convert vector to array

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 个评论

How important is that order? Some of the other orders of the same kind of setup are much easier.
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 个)

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')

类别

帮助中心File Exchange 中查找有关 Operators and Elementary Operations 的更多信息

标签

尚未输入任何标签。

Community Treasure Hunt

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

Start Hunting!

Translated by