数学建模小白最近在学习蒙特卡洛模拟,学习了很多随机数生成方式,就这里做一个小的总结吧!(可能不全,欢迎大家补充、指正。)
%第1种rand
rand(3,2)% rand(m,n)函数产生由在[0,1]之间均匀分布的随机数组成的m行n列的矩阵(或称为数组)
% 0.489600078204388 0.625091995388819
% 0.252163903532478 0.922827004660835
% 0.946547980257659 0.940445818019994
%第2种unifrnd
unifrnd(-5,5,3,2)% a + rand(m,n)*(b-a)等价于unifrnd(a,b,m,n)
%a + rand(m,n)*(b-a) 可以输出在[a,b]之间均匀分布的随机数组成的m行n列的矩阵
% -0.64318561337376 2.42683781316939
% -4.35917242309374 3.56771541728759
% 4.46022261825931 0.49259973320393
%第3种randi
% randi([a,b],m,n)函数可在指定区间[a,b]内随机取出大小为m*n的整数矩阵
randi([-5,5],3,4) %在区间[-5,5]内随机取出大小为3*4的整数矩阵
% 4 0 3 3
% -1 -3 4 2
% 3 -5 2 3
%第4种normrnd
normrnd(6,2) % 均值为6 标准差为2(方差为4)的正态分布随机数
% 4.53030186044656
normrnd(6,2,3,4) %均值为6 标准差为2(方差为4)的3行4列正态分布随机数矩阵
% 5.84338835118642 3.48307046843155 8.55082024650226 4.3090738068037
% 3.57687592092902 8.90260020327768 8.63132841583855 6.27702372389583
% 5.1243661147018 6.92374832364202 11.0655394916894 6.77230037419078
%第5种randperm
randperm(10) % 生成数字1-10组成的一个随机序列(类似于洗牌的操作)
%无重复数字
%9 8 1 5 6 7 10 2 4 3
%2 10 3 8 6 5 4 7 9 1
%第6种randn
randn(3,2)%生成均值为0,方差为1的3行2列的正态分布随机数矩阵
% 1.16206631372408 -0.533791892429567
% 2.03352031415011 0.329085320175557
% 0.837533239859242 0.128995299613468