Matlab 为什么randn函数返回大于1的数字?

Matlab 为什么randn函数返回大于1的数字?,matlab,normal-distribution,uniform-distribution,Matlab,Normal Distribution,Uniform Distribution,我想,randn返回一个随机数,它属于正态分布,平均值为0,标准偏差为1。因此,我希望得到一个范围为(0,1)的数字。但我得到的是一个不在(0,1)范围内的数字 我做错了什么?你想的是均匀分布。理论上,正态分布可以有非常大的数字,但概率非常低 randn的平均值为0,标准偏差为1。正态分布为钟形曲线/高斯形状,平均值处概率最高,相对于标准偏差概率下降 您正在寻找的是rand,它从均匀随机分布中“采样”,该分布给出的数字在所有点上的概率均为偶数,介于0和1之间。您将与混淆。另一个可能的混淆源: 平

我想,
randn
返回一个随机数,它属于正态分布,平均值为0,标准偏差为1。因此,我希望得到一个范围为(0,1)的数字。但我得到的是一个不在(0,1)范围内的数字


我做错了什么?

你想的是均匀分布。理论上,正态分布可以有非常大的数字,但概率非常低

randn
的平均值为0,标准偏差为1。正态分布为钟形曲线/高斯形状,平均值处概率最高,相对于标准偏差概率下降


您正在寻找的是
rand
,它从均匀随机分布中“采样”,该分布给出的数字在所有点上的概率均为偶数,介于0和1之间。

您将与混淆。

另一个可能的混淆源:

平均值
0
和方差
1
的A通常表示为N(0,1)。这有时被称为标准正态分布,意味着从所有实数(即范围)中提取样本(−∞,+∞), 平均值
0
和方差
1
。在这种情况下,标准偏差也是
1
,但这个符号指定了方差(很多人把它搞砸了)。转换N(μ,σ2)=μ+σN(0,1),其中μ是平均值,σ2是方差,σ是标准偏差,非常有用

类似地,开放区间(0,1)上的a通常表示为U(0,1)。这通常被称为标准均匀分布,并意味着样本仅从范围(0,1)中均匀抽取。类似地,变换U(a,b)=a+(b− a) U(0,1),其中a和b表示缩放间隔的边,非常有用

请注意,这两种情况下的
0
1
除了作为描述每个分布的参数之外,根本不代表相同的东西。这两个分布的采样范围称为