在Matlab中,rand是0-1的均匀随机分布,而randn是均值为0方差为1的正态分布。举个例子:X = rand 产生一个在(0,1)区间内的随机数。X = rand(n)或X = randn(n)产生一个n*n的随机变量矩阵。X = rand(m,n)或X = randn(m,n)产生一个m*n的随机变量矩阵。
结果是“一样”的,也就是说做的事情是等价的。randn(1000,1)应该会运行得快一点。
理论上最大值是正无穷,它产生的数均值是0,标准差是1,但实际上你不会看到很大的数产生(概率很小,几乎为0)
randn(N,1)就是产生服从方差为1,均值为0 ( 即N(0,1) )的Gaussian分布的随机噪音 根据Gaussian概率密度函数的特性,a+b*N(miu, sigma) = N(a+miu, b*sigma)所以你就明白了为什么0.05是标准差了,或者,如果你如果想让均值为5就是 noise=5+randn(N,1);...
randn是生成随机数的函数,randn(1,lx)表示生成1*lx的矩阵,矩阵的每个元素都是随机数。
randn(’seed‘,1),表明选定了一个初状态,再定义随机数列x=randn(1,100),x的值会确定下来,不会每运行一次而产生不同的随机数。
1,rand 生成均匀分布的伪随机数。分布在(0~1)之间 主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数 rand(m,n,‘double’)生成指定精度的均匀分布的伪随机数,参数还可以是’single’ rand(RandStream,m,n)利用指定的RandStream(我理解为随机种子)生成伪随机数 ...
选出n维1列正态排列随机数中大于0.5的数的位置
随机从1到n之间取一个整数(不包括n),缩小200倍后赋给noise