使用MATLAB生成随机多项式

时间:2015-07-11 11:03:00

标签: matlab polynomial-math polynomials

我想生成带参数(n,m)的随机二元多项式。

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

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

例如n=3m=3我正在寻找类似的东西 [1 0 1] [1 0 0] [1 1 1]

在mat实验室中是否有任何命令可用于获得上述结果?如果可能的话,我也想避免使用for循环!!

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

任何想法?

1 个答案:

答案 0 :(得分:2)

每个多项式都可以解释为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';