Matlab中rand('state',sum(clock))解析
一.问题来源
在随机算法中,通常需要使用随机数,如何产生随机数,并尽可能 不要重复出现的,接近真正意义上的随机数呢?
二.问题探究
众所周知,Matlab中的rand()函数产生的是伪随机数,但一般用来也可以接受。但是,如果我们知道伪随机数的初始状态,那么产生的伪随机数是唯一确定的。问题来了,Matlab每次启动会重置rand()和randn()的初始状态(重置为0),也就是说,你产生的随机数会出现两次随机数一模一样的情况,如:
1 >> rand('state',0) 2 >> rand(3,1) 3 4 ans = 5 6 0.9501 7 0.2311 8 0.6068 9 10 >