好久没用MATLAB了,今天在利用MATLAB进行数据处理时,突然发现自己忘记了该如何产生自己需要的随机数形式,于是又查了一通资料。现对其进行一个简单的总结,供自己和大家以后参考:
1. randi : 产生均匀分布的伪随机整数
%产生一个1至10之间的随机矩阵,大小为2x5;
s1 = randi(10,2,5);
%产生一个-5至5之间的随机矩阵,大小为1x10;
s2 = randi([-5,5],1,10);
2. rand: 产生均匀分布的伪随机数
%产生一个0至1之间的随机矩阵,大小为1x5;
s3 = rand(1,5);
%产生一个0至1之间的二进制随机矩阵,大小为1x10;
s4 = round(rand(1,10));
%产生一个a至b之间的随机矩阵,大小为1x5;
% a + (b-a) * rand(1,5); 如:a,b = 2,5
s5 = 2 + (5-2) * rand(1,5);
3. linspace:产生线性间隔向量
%创建一个从1到10的100个线性间隔的向量,大小为1x100;
s6 = linspace(1,10);
%创建一个从0到10的6=[(10-0)/2+1]个线性间隔数的向量,大小为1x6;
s7 = linspace(0,10,6);
4. unifrnd:产生连续统一的随机数字
%创建一个大小从0到2之间的随机矩阵,size为1x5;
s8 = unifrnd(0,2,1,5);
%从(0,1)(1,2)(2,3)...中分别产生一个随机数,组成随机矩阵;
%如:从(0,1)(1,2)(2,3)(3,4)(4,5)分别产生一个随机数组成矩阵;
a = 0:4;
b = 1:5;
s9 = unifrnd(a,b);
5. unidrnd:产生离散的统一随机数字
%创建一个大小从1到10之间的随机矩阵,size为2x5;
s10 = unidrnd(10,2,5);
%产生一个10以内的随机数;
s11 = unidrnd(10);
s12 = unidrnd(10);
s13 = unidrnd(10);
承接Matlab、Python和C++的编程,机器学习、计算机视觉的理论实现及辅导,本科和硕士的均可,咸鱼交易,详谈请联系QQ号757160542
本文同步分享在 博客“于小勇”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。