一、随机矩阵的产生:
1、X=rand:在0与1之间产生一个均匀分布的随机数。
2、X=rand(n):生成一个n*n的随机矩阵。
二、指定区间的产生:
1、X=a+(b-a).*rand(c,d):在(a,b)区间产生c行d列随机数。
假设在(2,6)内均匀分布的数字组成的3行4列向量:
三、随机整数:使用的是randi函数
1、X=randi(10):生成一个1到10之间的随机整数。
2、X=randi(10,5):生成一个由介于 1 和 10 之间的随机整数组成的 5×5 矩阵.
3、X=randi([10,20],2,4):是在10与20之间均匀分布2行4列的随机整数数组。
四、随机复数
X = rand + Ni*rand: 生成一个实部和虚部位于区间 (0,N) 内的随机复数。
MatLab中rand randi randn 三个函数的解析
1.rand
概括:生成(0,1)之间的均匀分布的伪随机数
示例1:
>>rand %什么参数也没有,生成一个(0,1)的数
示例2:
>>rand(m,n) %生成m行n列的均匀分布的伪随机数
2.randn
概括:生成标准正态分布的伪随机数,平均值是0,方差是1
若随机变量X服从一个数学期望为μ、方差为σ^2 的正态分布,记为N(μ,σ^2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。当μ = 0,σ = 1(平均数为 0 ;标准差为 1)时的正态分布是标准正态分布。
示例1:
>>randn %无参数,生成一个(0,1)的数
示例2:
>>randn(m,n) %生成m行n列的标准正态分布的伪随机数
>>randn(3,4)
3.randi
概括:生成均匀分布的随机整数(注意是整数,前面两个都是小数)
示例1:
>>randi(max,m,n) % max : 所生成的随机整数最大的值
>>randi(100,3,3) % m,n :生成m行n列的均匀分布的随机整数
示例2:
>>randi([min,max],m,n) % 生成在(min,max)数值范围内的m行n列的均匀分布的随机整数
>>randi([1,5],3,3) %注意在 [ ] 中间是逗号
总结
rand,randn,randi,三个不同的生成随机数的应用有所不同,需要合理的选择,其语法大同小异,容易掌握