Просто обведите все целые числа в [0,2^n)
и выведите число в двоичном виде.Если вы всегда хотите иметь n
цифры (например, вставить начальные нули), это будет выглядеть следующим образом:
for ii=0:2^n-1,
fprintf('%0*s\n', n, dec2bin(ii));
end
Редактировать: Есть несколько способов поместить результаты вматрица.Самое простое - использовать
x = dec2bin(0:2^n-1);
, что даст матрицу n
-by- 2^n
типа char
.Каждая строка является одной из битовых строк.
Если вы действительно хотите хранить строки в каждой строке, вы можете сделать это:
x = cell(1, 2^n);
for ii=0:2^n-1,
x{ii} = dec2bin(ii);
end
Однако, если вы ищете эффективную обработку, вы должны помнить, что целые числа уже хранятся в памяти в двоичном виде!Итак, вектор:
x = 0 : 2^n-1;
Содержит бинарные шаблоны наиболее эффективным способом памяти и процессора.Единственный компромисс в том, что вы не сможете представлять шаблоны с более чем 32 из 64 битов, используя это компактное представление.