答案 看你怎么定义随机了,一个很简单的方法就是A=ceil(3*rand(n))-2相关推荐 1matlab怎么随机生成1,0,-1的矩阵
A=randi([101,111],4,1)执行结果为:>> A=randi([101,111],4,1)A = 111 106 109 102 由于是随机产生的
用rand函数生成元素均为0-1之间的随机数的矩阵,然后逐个判断,0.5一下的改为0,0.5以上的改为1:A=rand(m,n);for i=1:m for j=1:n if A(i,j)<=0.5 A(i,j)=0;else A(i,j)=1;end end end
产生一个符合威布尔分布的0-1的随机矩阵,可以用wblrnd()Weibull分布随机数。函数命令使用格式:R = wblrnd(A,B,m,n),这里取A=0.1,B=0.9,m—行数,n—列数 例如:>>R=wblrnd(0.1,0.9,[10 10])max(R) 此命令用于检查每列的最大值。
随机生成i行j列的0和1元素填充的矩阵 BinaryMatrix = rand(i,j);for count_i = 1:i for count_j = 1:j if BinaryMatrix(count_i, count_j) < 0.5 BinaryMatrix(count_i, count_j) = 0;else BinaryMatrix(count_i, count_j) = 1;end end end end 在命令行窗口中,(假设要输入...
调用函数rand(x,y)即可,x,y对应行数和列数。
可以这样子,比如要生成m*n的矩阵,先用rand函数生成元素均为0-1之间的随机数的矩阵,然后逐个判断,0.5一下的改为0,0.5以上的改为1:A=rand(m,n);for i=1:m for j=1:n if A(i,j)<=0.5 A(i,j)=0; else A(i,j)=1; end endend stevenxcy | 发布于2010-10-21 举报| 评论(1) 3 2 ...
A是0-1矩阵l = find(~A);t = randperm(length(l));A(l(t(1:2))) = 1; % 把两个0替换成1
原理如下:a服从【0,1】均匀分布,则(a+b)/n服从【b/n,(b+1)/n】均匀分布。a*n+b服从【b,b+n】均匀分布 因而,(rand()*2)+3服从【3,5】均匀分布。值得注意的是,我们首先考虑了均匀分布区间的长度,将【0,1】区间拉伸到相同长度,然后再使用平移即可。
看你怎么定义随机了,一个很简单的方法就是 A=ceil(3*rand(n))-2