请问:怎样用matlab随机生成一个只有0,1元素的矩阵?用什么命令,谢谢啊!

如题所述

编写rand_BinaryMatrix函数,代码如下:

function [ BinaryMatrix ] = rand_BinaryMatrix( i, j )

% 随机生成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

在命令行窗口中,(假设要输入4行7列的0、1填充的矩阵)令i=4,j=7,输入代码:

rand_BinaryMatrix(4,7)

回车即可。

扩展资料

在Matlab中,rand用于生成0~1之间均匀分布的伪随机数,randn用于生成均值为0、方差为1的标准正态分布的伪随机数,两者语法一样。

Y = randn(n),返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息。 

Y = randn(m,n) 或 Y = randn([m n]),返回一个m*n的随机项矩阵。

Y = randn(m,n,p,...) 或 Y = randn([m n p...]),产生随机数组

参考资料:

MathWorks——rand函数

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-12-12

没听说过有直接生成的方法。

可以这样子,比如要生成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
end
end

扩展资料:

用rand产生0到1之间的随机数。

举个例子,假设需要1到5之间100个数,1+(5-1)*rand(1,100)就行了。rand(a,b)表示a行b列。

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等;

主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

参考资料:

MATLAB百度百科

本回答被网友采纳
第2个回答  2018-12-22

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

扩展资料:

matlab矩阵基本的生成

1、单位矩阵

eye(n)生成n*n的单位矩阵

eye(n,m)生成n*m的单位矩阵

eye(size(B))生成与B同样大小的单位矩阵

2、全1矩阵

ones(n)

ones(n,m)

ones(size(A))

ones(1,2)生成一行两列的全一矩阵

与1类似

3、全0矩阵

用法同2

4、随机数矩阵

rand(n)生成n*n随机方阵,其他类似于2

5、randn

生成元素为正态分布随机数的矩阵,用法同4

6、线性间隔向量的生成

logspace(a,b)生成由50个10^a 到10^b之间的对数间隔点组成的行向量

logspace(a,b,n)生成由n个10^a 到10^b之间的对数间隔点组成的行向量

logspace(a,pi)生成由n个10^a 到pi之间的对数间隔点组成的行向量`

7、分块对角矩阵

blkdiag(a,b,c)生成由a,b,c构成的分块对焦矩阵

8、连接矩阵

cat(d,a,b,c)生成由a,b,c组成的d维矩阵

9、对角矩阵

diag

10、左右调换

fliplr(A)把A矩阵左右调换

flipud(A)上下调换

rot90(B)把B逆时针旋转90度

11、生成下三角矩阵

tril(B)生成矩阵B的下三角矩阵

tirl(B,k)生成B的第k条对角线的下三角矩阵

k=0时二者作用相同

triu则是上三角

12、生成伴随矩阵

compan(A)

13、生成魔方矩阵

magic(n)

本回答被网友采纳
第3个回答  2019-01-24
用rand生成0-1之间随机数,再使用round函数四舍五入取整
round函数取整的意义为:对数组中每个元素朝最近的方向取整数部分
Matlab code
A=rand(m,n);%生成m*n维矩阵,矩阵为0-1之间的随机数
A=round(A);%矩阵A中小于0.5的数返回0,大于0.5的数返回1
第4个回答  2010-10-21
没听说过有直接生成的。
可以这样子,比如要生成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
end
end

请问:怎样用matlab随机生成一个只有0,1元素的矩阵?用什么命令,谢谢啊...
function [ BinaryMatrix ] = rand_BinaryMatrix( i, j )随机生成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_...

请问:怎样用matlab随机生成一个只有0,1元素的矩阵?用什么命令,谢谢啊...
用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

请问:怎样用matlab随机生成一个只有0,1元素的矩阵?用什么命令,谢谢啊...
没听说过有直接生成的。可以这样子,比如要生成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 举...

如何用matlab产生一0、1随机数列
1、首先启动matlab,新建一个函数文件。2、在弹出的编辑窗口中输入代码。3、保存该函数,注意文件命名要与函数名相同。4、文件保存的位置应该与搜索路径相同,否则使用该函数时将会因为找不到该函数文件而出错。5、最后再命令行窗口中输入命令,get01(m,n)就可以产生m行n列的随机0-1矩阵了。

matlab 怎样创建一个0 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]生成...

如何利用Matlab产生一个0-1随机矩阵
调用函数rand(x,y)即可,x,y对应行数和列数。

matlab怎么产生随机的0和1
a=int16(rand(5))a = 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1 0 1 1 1 0 1 0 1 0 0 a是一个5*5的int16的矩阵。

如何用matlab产生0-1矩阵
matlab提供了生成0矩阵的函数zeros(),常用的调用方式有: zeros(N) - 生成N行N的0矩阵 zeros(M,N) - 生成M行N列的0矩阵 zeros(M,N,P,...) - 生成M×N×P×...的0矩阵 zeros(SIZE(A)) - 生成一个维度与A一致的0矩阵 示例如下 ...

matlab怎样生成随机矩阵?
1、首先需要知道matlab中生成随机数的函数是rand,可以在命令行窗口中输入“help rand”查看一下rand函数的用法,如下图所示。2、如果我们想生成一个4行6列的矩阵,输入rand(4,6),需要注意的是默认生成的随机数是在0-1之间,如下图所示。3、按回车键之后,可以看到生成了一个4行6列的矩阵。4、...

如何用Matlab生成只含0,1值的随机矩阵,要求限制1的数量,且对角线上的...
A=zeros(4,4);idx=randperm(4*4);A(idx(1:5))=1;A(logical(eye(size(A)))=0

相似回答