编写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...]),产生随机数组
参考资料:
没听说过有直接生成的方法。
可以这样子,比如要生成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可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等;
主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
参考资料:
用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)
本回答被网友采纳请问:怎样用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