文档

rng

控制随机数生成

语法

rng(种子)
rng(“洗牌”)
rng(种子、发电机)
rng(“洗牌”,发电机)
rng(“违约”)
Scurr = RNG
rng (s)
Sprev = rng(…)

描述

rng(种子)使用非负整数为随机数生成器提供种子种子如此......以至于......兰德兰迪,randn产生一个可预测的数字序列。

rng(“洗牌”)根据当前时间为随机数生成器播种。因此,兰德兰迪,randn每次打电话后都要输入不同的数字序列rng

rng(种子、发电机)rng(“洗牌”,发电机)另外,指定所使用的随机数生成器的类型兰德兰迪,randn。的发电机输入是:

  • “旋风”:梅森·特威斯特

  • “simdTwister”: simd型快速梅森扭扭机

  • “combRecursive”:组合多重递归

  • “multFibonacci”:乘法滞后斐波那契

  • “v5uniform”: Legacy MATLAB®5.0均匀发生器

  • “v5normal”:传统MATLAB 5.0法线发生器

  • v4的:遗留的MATLAB 4.0生成器

rng(“违约”)所使用的随机数生成器的设置兰德兰迪,randn它们的默认值。这样,就像重新启动MATLAB一样产生相同的随机数。默认设置是种子为0的Mersenne Twister。

Scurr = RNG返回所使用的随机数生成器的当前设置兰德兰迪,randn。设置以结构形式返回scurr与田地类型”、“种子'和'状态'.

rng (s)恢复所使用的随机数生成器的设置兰德兰迪,randn回到前面使用命令捕获的值,例如S = RNG

Sprev = rng(…)返回所使用的随机数生成器的先前设置兰德兰迪,randn在更改设置之前。

例子

例1 -检索和恢复发电机设置

保存当前发电机设置年代

S = rng;

调用兰德生成一个随机值的向量:

X =兰特(1,5)X = 0.8147 0.9058 0.1270 0.9134 0.6324

通过调用恢复原始生成器设置rng。生成一组新的随机值并验证xy是相等的:

rng(年代);Y = rand(1,5) Y = 0.8147 0.9058 0.1270 0.9134 0.6324

例2 -恢复遗留生成器的设置

使用遗留生成器。

sprev = rng(0,'v5uniform') sprev = Type: 'twister' Seed: 0 State: [625x1 uint32] x = rand x = 0.9501

通过调用恢复先前的设置rng

rng (sprev)

扩展功能

这个话题有用吗?