matlab随机生成只有01矩阵
答:没听说过有直接生成的。可以这样子,比如要生成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 举...
答:用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
答:A=zeros(m,n); %生成全零矩阵 b=randi(m,[1 n]); %生成n个从1到m的随机整数 ind=sub2ind([m,n],b,1:n);%形成位置 A(ind)=1;%将对应位置变为1
答:提供一个方法:n=10;%可以改成你想要的数 A=zeros(n);index=randperm(n);%生成随机排列是关键 A((n)*(0:n-1)+index)=1 因为是随机序列,所以每次都不一样,一个结果:A = 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 ...
答:>> round(rand(4,5))ans = 1 0 1 1 0 0 1 0 0 1 0 1 0 1 0 1 1 1 0 0
答:1、首先启动matlab,新建一个函数文件。2、在弹出的编辑窗口中输入代码。3、保存该函数,注意文件命名要与函数名相同。4、文件保存的位置应该与搜索路径相同,否则使用该函数时将会因为找不到该函数文件而出错。5、最后再命令行窗口中输入命令,get01(m,n)就可以产生m行n列的随机0-1矩阵了。
答:有,可以用randi函数,例如生成五阶矩阵:randi(2,5)-1 ---生成的矩阵中都是0和1,且符合均匀分布。
答:ss(++i)=floor(2*rand(1));if ss(i) == 1 ss(++i)=1;end 或者:ss(++i)=floor(2*rand(1));if (ss(i) == 1) && ((i==1) || (ss(i-1) == 0))ss(++i)=1;end
答:例如:A=rand(8,5)>0.3;其中(8,5)是矩阵大小,0.3是矩阵中出现元素0的概率,也即出现元素1的概率为0.7,望采纳。
答:程序如下:A=randi([101,111],4,1)执行结果为:>> A=randi([101,111],4,1)A = 111 106 109 102 由于是随机产生的
网友评论:
朱傅13890578375:
matlab 随机生成每列只有一个1 其余为0的矩阵 -
44140程奚
: m=10;%行数 n=15;%列数 A=zeros(m,n); %生成全零矩阵 b=randi(m,[1 n]); %生成n个从1到m的随机整数 ind=sub2ind([m,n],b,1:n);%形成位置 A(ind)=1;%将对应位置变为1
朱傅13890578375:
如何在MATLAB中生成一个0 1矩阵(每一行,每一列只有一个1) -
44140程奚
: 提供一个方法: n=10;%可以改成你想要的数 A=zeros(n); index=randperm(n);%生成随机排列是关键 A((n)*(0:n-1)+index)=1 因为是随机序列,所以每次都不一样,一个结果: A = 0 0 0 0 0 1 0 0 0 00 0 0 0 1 0 0 0 0 00 0 0 1 0 0 0 0 0 00 0 ...
朱傅13890578375:
用matlab如何创建一个随机矩阵:它的每行每列都只有一个位置为1,其余为0 -
44140程奚
: 创建一个随机矩阵:它的每行每列都只有一个位置为1,其余为0 a=eye(5) b=randperm(5) c=a(:,b) 这样c就满足要求.创建一个矩阵只要求每列上只有一个位置为1 a=zeros(5); for i=1:length(a)b=randperm(5);a(b(1),i)=1; end
朱傅13890578375:
MATLAB如何随机产生一个1其余为0的数组 -
44140程奚
: 总得知道数组的大小吧?假设是m行n列,就可以如下(把具体的m和n代入): a=zeros(m,n); a(floor(rand*m)+1,floor(rand*n)+1)=1; a
朱傅13890578375:
如何用matlab产生只有0和1的长度为N的随机序列 -
44140程奚
: 二楼说的有误.rand[X,Y]的参数X,Y是生成一个X乘Y的矩阵,里面都是随机数,范围从0到1(而不是只有0和1!).这里用[]和()都可以,没有区别的.为了生成“只有0和1”的随机数组需要在rand之外再做处理. 具体方法: 1.按照一楼的写法就可以.首先生成随机数,然后判断是否>0.5,也就是0.5以下的赋值为0,0.5以上的赋值为1. 2.或者X=ceil(rand(N,1)-0.5)也可以.ceil命令的意思是“改变值为正向的最近的整数”.其他详细内容请参见 help rand
朱傅13890578375:
matlab中可以用rand产生一个随机序列,但是我想要产生的随机序列的绝对值在0.1的范围内,怎么弄啊?
44140程奚
: 也就是产生 -0.1到0.1里面. 0.2*rand(1,1)-0.1 其中的1,1代表产生一行一列的矩阵.
朱傅13890578375:
变量x只为0或1用MATLAB怎么写,求高手,很急 -
44140程奚
: 看你用在什么地方了 matlab不用定义 你直接给数值01就可以了 比如x=rand>0.5这样随机生成01数值
朱傅13890578375:
请问:怎样用matlab随机生成一个只有0,1元素的矩阵?用什么命令,谢谢啊!
44140程奚
: randint(4,5)%生成4行5列0-1随机矩阵
朱傅13890578375:
matlab如何产生随机0或1整数 -
44140程奚
: x=zeros(1,1000); %或者x=ones(1,1000);y=x+1;
朱傅13890578375:
请问如何利用matlab生成0~1的随机正数矩阵且每行的和为1 ?谢谢啦 -
44140程奚
: clear h=6; %行 l=4; %列 A=rand(h,l); for j=1:lB(:,j)=sum(A,2); end C=A./B