randn命令中randn('state')和randn('seed')的不同


(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产生伪随机数的语法:
发生器的状态决定所产生数的序号。
S = RANDN('state') 是一个二元向量,包括标准发生器的状态;
RANDN('state',S):设置发生器的状态为S(即标准状态);
RANDN('state',0):设置发生器的初始状态;
RANDN('state',J):J为整数,设置发生器到J阶状态;

(3)MATlAB 4.X应用一个单独的种子来产生随机数:
RANDN('seed',0) and RANDN('seed',J)作用与RANDN('state',0)和RANDN('state',J)一样,但使用Matlab 4.x随机数发生器。
RANDN('seed'):返回MATlAB 4.X发生器的当前种子。

以上部分是转自其他网友的分析。下面是我对这randn或rand的理解。

例如:randn(’seed‘,1),表明选定了一个初状态,再定义随机数列x=randn(1,100),x的值会确定下来,不会每运行一次而产生不同的随机数。

原文地址:https://www.cnblogs.com/zhurun/p/4590549.html