www.rtmj.net > mAtlAB随机生成mxn矩阵

mAtlAB随机生成mxn矩阵

基本思路:首先生成全0矩阵,然后用randperm产生1到m*n自然数的随机排列,任取其中p个作为下标将前面生成矩阵的元素置1即可.参考代码:>> m=8;n=6;p=31;>> I = randperm(m*n);>> A = zeros(m,n);>> A(I(1:p))=1A = 1 1 0 1 1 0 0 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0

参考 doc normrndn2 = normrnd(0,1,[1 5])n2 = 0.0591 1.7971 0.2641 0.8717 -1.4462

matlab中通过rand函数产生的是介于0到1(不包括1)之间的伪随机数.更多信息请在matlab命令窗口输入help rand获得帮助信息.用法:1.rand(n)表示产生一个n*n的随机矩阵,n必须是整数,否则会报错.2.rand(m,n)或rand([m n])产生m*n均匀分布的随机矩阵,元素取值在0.0~1.0.3.X=rand(1,10);产生10个0~1的随机数.

round(unifrnd(0,1,n,m)) matlab按照你的要求生成n行m列的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,

% function num=randn(min_n,max_n,m,n)%思路:%对于某一列,先产生该列第一个随机数a,其范围为[min_n,max_n]%然后产生该列第二个随机数b,其范围为[min_n,max_n-a]%之后产生该列第三个随机数c,其范围为[min_n,max_n-a-b]%终

1、首先启动matlab,启动界面如图所示.2、在命令行窗口中输入代码:[0:0.1:1].3、点击回车,可以看到结果从0开始每次增加0.1到1结束.4、赋予变量x从0到1等值增大的值.在命令行窗口中输入代码:x=[0:0.1:1].5、点击回车后便会显示出x变量的赋值结果,可以看到x变量内值从0到1每次增加0.1.6、在工作区中,可以看到变量x,双击x变量,会弹出一个表格,方便查看x内的值.7、最后查看结果就完成了.

例如:A=rand(8,5)>0.3;其中(8,5)是矩阵大小,0.3是矩阵中出现元素0的概率,也即出现元素1的概率为0.7,望采纳.

随机生成列向量非零元素的位置,给其赋值为1,具体见下:m = 20; n = 5; % 行列数A = zeros(m,n);ind = sub2ind([m,n],randi(m,[1,n]),1:n); % 非零位置的行号随机生成A(ind) = 1 查看原帖>>

dec2bin(randperm(7),3)思路:0到7产生一个全排列.然后将这8个数转成二进制.你要的应当就是这个.

网站地图

All rights reserved Powered by www.rtmj.net

copyright ©right 2010-2021。
www.rtmj.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com