生成与MATLAB随机多项式(Generate random polynomials with MA

2019-10-23 19:14发布

我想生成参数随机二进制多项式(n,m)

n为要生成多项式的数,m是每个多项式的元素的数量。

同时,我需要它的多项式是唯一的。 我还需要与等于零的所有元素排除的结果。

例如,对于n=3m=3我寻找类似[1 0 1] [1 0 0] [1 1 1]

是否有垫实验室的任何命令,我可以使用有上述结果? 我也想,如果能够避免for循环!

编辑:我发现命令unique(rand(n,m)>=0.5,'rows')将做的工作。 但是,这并不能保证结果[0 0 0]将被排除在外

有任何想法吗?

Answer 1:

每个polynoms的可以被解释为一个二进制数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';


文章来源: Generate random polynomials with MATLAB