matlab如何把行向量生成1和0矩阵?
例如,有行矩阵A=[2,3,5,6],想生成按行A矩阵元素的值对应生成列由1和0的新矩阵B[1,1,1,11,1,1,10,1,1,10,0,1,10,0,1,10,0,...
例如,有行矩阵A=[2,3,5,6],想生成按行A矩阵元素的值对应生成列由1和0的新矩阵B
[1,1,1,1
1,1,1,1
0,1,1,1
0,0,1,1
0,0,1,1
0,0,0,1] 展开
[1,1,1,1
1,1,1,1
0,1,1,1
0,0,1,1
0,0,1,1
0,0,0,1] 展开
1个回答
展开全部
1)等概率地生成一个m*n的矩阵,且矩阵元素只有0和1。MATLAB的表示为:randsrc(m,n,[0,1]);其中,m是行数,n是列数。
2)以概率p生成1,(1-p)生成0, MATLAB表示为:randsrc(m,n,[0,1;p,(1-p)]);
注意:1)中是2)的特例,即当p=0.5时候。
3)以概率[p1,p2,…,pk]生成元素为[x1,x2,…,xk]中的数值的m*n维的矩阵,则MATLAB表示为:randsrc(m,n,[x1,x2,…,xk;p1,p2,…,pk]);元素x1,x2,…,xk和概率p1,p2,…,pk之间的符号位分号,即;。注意:p1+p2+…+pk=1.(否则会出错)
等概率地生成一个m*n的矩阵的MATLAB表示方法还有如下几种:
A-1)round(rand(m,n)); 其中,rand(m,n)生成均匀分布的伪随机数。分布在(0~1)之间;round(x)表示对x取四舍五入。
A-2) randi(2,m,n)-1; 其中randi(iMax,m,n)在开区间(0,iMax]生成mXn型随机矩阵.
2)以概率p生成1,(1-p)生成0, MATLAB表示为:randsrc(m,n,[0,1;p,(1-p)]);
注意:1)中是2)的特例,即当p=0.5时候。
3)以概率[p1,p2,…,pk]生成元素为[x1,x2,…,xk]中的数值的m*n维的矩阵,则MATLAB表示为:randsrc(m,n,[x1,x2,…,xk;p1,p2,…,pk]);元素x1,x2,…,xk和概率p1,p2,…,pk之间的符号位分号,即;。注意:p1+p2+…+pk=1.(否则会出错)
等概率地生成一个m*n的矩阵的MATLAB表示方法还有如下几种:
A-1)round(rand(m,n)); 其中,rand(m,n)生成均匀分布的伪随机数。分布在(0~1)之间;round(x)表示对x取四舍五入。
A-2) randi(2,m,n)-1; 其中randi(iMax,m,n)在开区间(0,iMax]生成mXn型随机矩阵.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询