假设我们有两个数字[-1 1],并希望将它们组合在一个有6列的矩阵中。我如何计算这些数字的所有64个组合,使得结果是64x6维的矩阵?
为了让我的问题更清楚,最终结果看起来像这样:
具有所有64个可能组合的CCD_ 1。由于有64个组合,因此所得矩阵将具有64行和6列,因为每一行(向量(具有6个数字。
请注意,您的问题相当于用二进制计数,并用所需值替换0和1。您可以使用dec2bin
生成每行一个二进制数的矩阵,然后使用它为任意值的向量编制索引:
n = 6; % number samples per row
values = [-1, 1]; % the two distinct values
len = 2^n; % total number of rows
binary = dec2bin(0:len-1, n)-'0'; % binary "counting" matrix
A = values(binary+1); % indexing the values by the counting matrix
disp(A);
在线试用!