Как заполнить двоичные матрицы всеми комбинациями?

Я хочу иметь 2 ^ n матриц со всеми комбинациями 0 и 1 в них. Например, для n = 6 (n = # строки x # столбцы)array{1}=[0 0 0; 0 0 0],array{2}=[0 0 0; 0 0 1]...array{64}=[1 1 1;1 1 1], Я использую MATLAB, и я столкнулся сcombn.m (M = COMBN (V, N) возвращает все комбинации из N элементов элементов вектора V. M имеет размер (длина (V). ^ N) -by-N.),dec2bin() но я не могу понять это совершенно правильно. Другая моя идея состояла в том, чтобы создать большую матрицу, а затем разбить ее на 2 ^ n матриц. Например, для n = 6 (2 x 3) я сделал этоM=combn([0 1],3) что дает мне:

M =

 0     0     0
 0     0     1
 0     1     0
 0     1     1
 1     0     0
 1     0     1
 1     1     0
 1     1     1 

Затем используйте этоM чтобы создать большую матрицу, как этоM2=combn(M,2), но это дает неправильные результаты. Тем не менее, если я конкатенации M строки, как это:

M=combn([000;010;100;001;110;011;101;111],2)' Я получаю что-то ближе к тому, что я ожидаю, т.е.

M =

Columns 1 through 21

 0     0     0     0     0     0     0     0    10    10    10    10    10    10    10    10   100   100   100   100   100
 0    10   100     1   110    11   101   111     0    10   100     1   110    11   101   111     0    10   100     1   110

 Columns 22 through 42

   100   100   100     1     1     1     1     1     1     1     1   110   110   110   110   110   110   110   110    11    11
11   101   111     0    10   100     1   110    11   101   111     0    10   100     1   110    11   101   111     0    10

  Columns 43 through 63

  11    11    11    11    11    11   101   101   101   101   101   101   101   101   111   111   111   111   111   111   111
  100     1   110    11   101   111     0    10   100     1   110    11   101   111     0    10   100     1   110    11   101

  Column 64

   111
   111 

где я могу получить каждый столбец и преобразовать его отдельно в 64 матрицы. Так, например, столбец 1 будет преобразован из[0;0] в[0 0 0;0 0 0] и т.д. Тем не менее, я считаю, что это гораздо более простая проблема, которую можно решить за меньшее время, элегантно.