MATLAB中randn()生成的随机数分布范围是多少?

来源:百度知道 编辑:UC知道 时间:2024/06/14 16:45:19
MATLAB中只说到randn()用于生成均值为0,标准差为1的随机数,但是没有明确这些随机数的取值范围?

MATLAB 帮助中的例子
x = -2.9:0.1:2.9;
y = randn(10000,1);
hist(y,x)
是否意味着randn()生成的随机数分布在[-2.9,2.9]呢?

因为是normal分布,理论上没有范围限制。

hist的意思是说,看你的正态分布的几率。

如果你要限制范围,使用rand即可

理论上,randn()生成的随机数分布范围为(-∞,+∞),即无穷大。
Matlab中,randn()是产生正态分布的随机数或矩阵的函数,它产生均值为0,方差为1,标准差为1的正态分布的随机数或矩阵的函数。
用法如下:
randn(n):返回一个n*n的随机项的矩阵。
randn(m,n)或者Y = randn([m n]):返回一个m*n的随机项矩阵。

randn()生成的数据当然没有范围限制了

他是根据正态分布的概率取值的,越是偏离平均值0的取值概率越小

当然出现的机会就很小了

hist只是根据产生的随机数绘制直方图而已

好像是0到1吧。
你试试看一下不就知道了。