Random的使用

Random提供了一些随机数相关的基本物品

生成器

AbstractRNG是随机数生成器的抽象类型

MersenneTwister(seed)生成一个梅森旋转随机数生成器,seed可以是非负整数或Vector{UInt32}

RandomDevice()是操作系统提供的随机数生成器

rand

rand([rng=GLOBAL_RNG],[S],[dims...])使用生成器rng,从S中选择随机元素,使用维度参数dims...,其中S可以是:

  • 可索引集合

  • 抽象字典/集合类型

  • 字符串

  • 存在typemintypemax的类型(默认Float64

  • 元组(1.1及以后)

randn([rng=GLOBAL_RNG],[T=Float64],[dims...])生成T类型的均匀分布随机数(平均数0,标准差1)

randperm([rng=GLOBAL_RNG,] n::Integer)生成长度为n的排列(permutation)

randcycle([rng=GLOBAL_RNG,] n::Integer)生成长度为n的循环排列(cyclic permutation)

randexp([rng=GLOBAL_RNG], [T=Float64], [dims...])生成维度参数为dims...的符合幂分布(尺度为1)的分布

randsubseq([rng=GLOBAL_RNG,] A, p) -> Vector生成指定数组的随机子序列

Note

以上函数都有对应的加!版本

工具

randstring([rng=GLOBAL_RNG], [chars], [len=8])生成长度为len的随机字符串

shuffleshuffle!可以打乱数组