Random
Random 提供了一些随机数相关的基本物品
生成器
AbstractRNG是随机数生成器的抽象类型MersenneTwister(seed)生成一个梅森旋转随机数生成器,seed可以是非负整数或Vector{UInt32}RandomDevice()是操作系统提供的随机数生成器
rand
rand([rng=GLOBAL_RNG],[S],[dims...]) 使用生成器 rng,从 S 中选择随机元素,使用维度参数 dims...,其中 S 可以是:
可索引集合
抽象字典/集合类型
字符串
存在
typemin和typemax的类型(默认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生成指定数组的随机子序列
以上函数都有对应的加 ! 版本
其它工具
randstring([rng=GLOBAL_RNG], [chars], [len=8]) 可生成长度为 len 的随机字符串。 shuffle 和 shuffle! 可以打乱数组