当前位置: 代码迷 >> 综合 >> rand('state',0)
  详细解决方案

rand('state',0)

热度:21   发布时间:2023-12-21 13:50:14.0

本篇博文参考:http://ilovematlab.cn/thread-57952-1-1.html

rand('state',0)Resets the generator to its initial state. 

rand('state',s)表示随机产生数的状态state,一般情况下不用指定状态。但是有的书籍作者为了让读者能够看到和他书本的同样结果,采用了设置state,rand('state',0)作用在于如果指定状态,产生随机结果就相同了。

比如你运行u2 = rand(3,1)三次,分别产生u2 =  0.9501   0.2311   0.6068,u2 =   0.4860   0.8913   0.7621,u2 =   0.4565   0.0185   0.8214三组随机数,运行rand('state',0)后,再运行u2 = rand(3,1)三次,产生的随机数就得前三次的一样,运行u2 = rand(3,1)第四次后的结果就不一样了。

需要每次都要设定的,就是指每次都要将rand('state',0)写上,再写u=rand(3,1);这样每次运行产生的结果是一样的。

rand('state',0)和rand('state',2)有什么区别呢?只要你每次在产生随机数之前都加上rand('state',0),那么每次产生的随机数都是这些而不会发生变化。但是如果不加的话就会有变化,而如果是rand('state',2),同样也是每次都产生确定的随机数,只是和rand('state',0)产生的随机数不一样。

  相关解决方案