rand('state',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)产生的随机数不一样。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值