matlab中randn(‘state’)转载:http://www.cnblogs.com/rong86/p/3572284.html
randn('state')
随机数都是由RandStream随机数据流生成的(里面有一套固定的算法,一般用时间发生装置)。其中就有'state','seed','twister'等参数。
‘state’是对随机发生器的状态进行初始化,并且定义该状态初始值。比如你过一段时间还要使用这个随机数的时候,还能保持当前的随机取值。
比如
randn('state',2013)
a = randn(1)
b = randn(1) 会发现与上一个随机值不一样 如果再定义一次
randn('state',2013)
c = randn(1) 会发现与a的值一样
(1)RANDN产生正态分布数的语法: RANDN(N) :产生N× N的矩阵,其元素是按正态分布的数组; RANDN(M,N) and RANDN([M,N]):产生M×N的矩阵; RANDN(M,N,P,...) or RANDN([M,N,P...])产生随机序列; (2)RANDN产生伪随机数的语法: (3)MATlAB 4.X应用一个单独的种子来产生随机数: |
例如:randn(’seed‘,1),表明选定了一个初状态,再定义随机数列x=randn(1,100),x的值会确定下来,不会每运行一次而产生不同的随机数。
rand与randn的区别
rand是平均分布,即等概率分布,等概率产生0-1范围内的数。
randn是标准正态分布,均值为0,标准差为1.