Matlab:RandStream函数 您所在的位置:网站首页 matlab随机函数rand怎么用 Matlab:RandStream函数

Matlab:RandStream函数

2023-07-03 22:15| 来源: 网络整理| 查看: 265

      要生成一个随机数,RandStream对象的使用方法如下:

      ①通过设定种子和生成算法来确定一个伪随机序列,RandStream的构造函数或RandStream.creat方法可用来完成此任务。

      ②使用RandStream.setDefaultStream函数将确定好的序列对象设置为当前Matlab使用的序列。

      ③通过rand等函数将上面的随机序列生成随机数。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

      当然,也可不用将其设置为默认序列(省②),使用rand函数可以指定从哪个序列中生成随机数:

      stream = RandStream('mrg32k3a');

      rand(stream,1,5);

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

      使用RandStream.create函数可以创建独立同分布的随机序列,如

      [ s1,s2,s3] = randStream.create('mrg32k3a','');

      r1 = rand(s1,100000,1);

      r2 = rand(s2,100000,1);

      r3 = rand(s3,100000,1);

      corrcoef([r1 r2 r3]);

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

       要使得前后两次生成的随机数保持一样,可以将递归计算过程中的伪随机数状态记录下来,然后下一次计算总是基于这个记录的伪随机数状态来进行,这样每次计算得到的随机数总是相同的。

       defaultStream = RandStream.getDefaultStream;

       savedState = defaultStream.State;

       v1 = rand(1,5)

      defaultStream.State = savedState;

       v2 = rand(1,5)

 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

       各个指令具体的使用方法可以通过helpdesk命令,搜索RandStream来查看。v7.7以上版本为了保持与旧版本兼容,保留了如rand('state',0)这种伪随机序列设置方法,称之为legacy mode.有关legacy mode的内容也可以在RandStream项中找到。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有