在matlab中,如何随机创建一个只有1,2两种元素的矩阵,且规定30%的元素是1。

如题所述

可以这样,randperm(10)产生1到10 的随机序列,然后看第一个元素如果小于等于3,就取1,否则就取2,想要矩阵的话用reshape命令就可以了
for i=1:100;a=randperm(10);if a(1)<=3;B(i)=1;else B(i)=2;end;end
B=reshape(B,10,10)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-16
sprand(m,n,0.3)产生正态随机阵
然后判断元素0或非零既可以产生你要的矩阵了
相似回答