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,三个不同的生成随机数的应用有所不同,需要合理的选择,其语法大同小异,容易掌握