生成二进制矩阵的所有可能排列
Generate all possible permutations of a binary matrix
我希望生成所有可能的 4x4 矩阵,其中每个元素可以是 0 或 1。
R 中是否有执行此操作的函数?
这是一个函数,可以为从 0
到 2^16-1
的索引创建这样的矩阵:
num2mat = function(num){ matrix(as.integer(intToBits(num)),4,4) }
这是它产生的结果:
> num2mat(0)
[,1] [,2] [,3] [,4]
[1,] 0 0 0 0
[2,] 0 0 0 0
[3,] 0 0 0 0
[4,] 0 0 0 0
> num2mat(2^15+2^13+2^10+2^8+2^7+2^5+2^2+1)
[,1] [,2] [,3] [,4]
[1,] 1 0 1 0
[2,] 0 1 0 1
[3,] 1 0 1 0
[4,] 0 1 0 1
> num2mat(2^16-1)
[,1] [,2] [,3] [,4]
[1,] 1 1 1 1
[2,] 1 1 1 1
[3,] 1 1 1 1
[4,] 1 1 1 1
我希望生成所有可能的 4x4 矩阵,其中每个元素可以是 0 或 1。
R 中是否有执行此操作的函数?
这是一个函数,可以为从 0
到 2^16-1
的索引创建这样的矩阵:
num2mat = function(num){ matrix(as.integer(intToBits(num)),4,4) }
这是它产生的结果:
> num2mat(0)
[,1] [,2] [,3] [,4]
[1,] 0 0 0 0
[2,] 0 0 0 0
[3,] 0 0 0 0
[4,] 0 0 0 0
> num2mat(2^15+2^13+2^10+2^8+2^7+2^5+2^2+1)
[,1] [,2] [,3] [,4]
[1,] 1 0 1 0
[2,] 0 1 0 1
[3,] 1 0 1 0
[4,] 0 1 0 1
> num2mat(2^16-1)
[,1] [,2] [,3] [,4]
[1,] 1 1 1 1
[2,] 1 1 1 1
[3,] 1 1 1 1
[4,] 1 1 1 1