matlab中 rand和 randn的区别,请分别举例。

uniformly distributed random numbers和normally distributed random numbers有什么区别?是否前者是标准分布(还是标准正态?)随机数,后者是正态分布随机数?

rand是平均分布,即等概率分布,等概率产生0-1范围内的数
randn是标准正态分布,均值为0,标准差为1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-31

主要区别

(1)rand 生成均匀分布的伪随机数。分布在(0~1)之间
主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数,rand(m,n,'double')生成指定精度的均匀分布的伪随机数,参数还可以是'single',  rand(RandStream,m,n)利用指定的RandStream(我理解为随机种子)生成伪随机数。

(2)randn 生成标准正态分布的伪随机数(均值为0,方差为1)
主要语法:和上面一样

(3)randi 生成均匀分布的伪随机整数
主要语法:randi(iMax)在开区间(0,iMax)生成均匀分布的伪随机整数,randi(iMax,m,n)在开区间(0,iMax)生成mXn型随机矩阵,  r = randi([iMin,iMax],m,n)在开区间(iMin,iMax)生成mXn型随机矩阵

本回答被网友采纳
第2个回答  推荐于2017-10-02
1,rand 生成均匀分布的伪随机数。分布在(0~1)之间
主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数
rand(m,n,'double')生成指定精度的均匀分布的伪随机数,参数还可以
是'single'
rand(RandStream,m,n)利用指定的RandStream(我理解为随机种子)生成伪
随机数

2,randn 生成标准正态分布的伪随机数(均值为0,方差为1)
主要语法:和上面一样

3, randi 生成均匀分布的伪随机整数
主要语法:randi(iMax)在开区间(0,iMax)生成均匀分布的伪随机整数
randi(iMax,m,n)在开区间(0,iMax)生成mXn型随机矩阵
r = randi([iMin,iMax],m,n)在开区间(iMin,iMax)生成mXn型随机矩阵
第3个回答  2017-04-10
关键问题不是用法而是意义,rand是0-1的均匀分布,randn是均值为0方差为1的正态分布用法自己help rand或者help randn一下就知道了rand(n)或randn(n)生成n*n的随机数矩阵rand(n,m)或randn(m,n)生成m*n的随机数矩阵
第4个回答  2011-07-20
前者是0到1的均匀分布,后者是标准正态分布