从维度n中的超立方体创建所有矢量的方法是什么?

时间:2019-05-10 12:34:58

标签: scilab hypercube

我想将超多维数据集在维度n中创建的所有向量存储在矩阵中,例如,对于维度n = 3:

matrix = [[0 0 0], [0 0 1], [0 1 0], [0 1 1],
          [1 0 0], [1 0 1], [1 1 0], [1 1 1]]

在scilab中有什么好方法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

也许是这种方式(就像从0到2 ^ n-1二进制计数)

n=3;
mat = zeros(2^n,n);
for i = 1:2^n
    mat(i,:) = bitget(i-1,1:n); 
end

--> mat
 mat  = 

   0.   0.   0.
   1.   0.   0.
   0.   1.   0.
   1.   1.   0.
   0.   0.   1.
   1.   0.   1.
   0.   1.   1.
   1.   1.   1.