我想生成带有参数的随机二进制多项式(n,m)
。
n是要生成的多项式的数量,m是每个多项式的元素的数量。
同时,我需要多项式是唯一的。而且我还需要排除所有元素等于零的结果。
例如,对于n=3
和m=3
我正在寻找类似的东西[1 0 1] [1 0 0] [1 1 1]
。
垫实验室中是否可以使用任何命令来获得以上结果?我还想避免for循环!
编辑:我发现该命令unique(rand(n,m)>=0.5,'rows')
将完成这项工作。但这不能保证将结果[0 0 0]
排除在外
有任何想法吗?
您的每个多项式都可以解释为1到2 ^ m-1之间的二进制数。
%get a random subset of size n
X=randperm(2^m-1,n);
%convert it to a matrix
X=dec2bin(X)-'0';
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句