在python中生成多个独立的随机流

Min*_*ard 5 python random numpy

我想在python中生成多个随机数流.我正在编写一个用于模拟队列系统的程序,并希望一个流用于到达间隔时间,另一个流用于服务时间等等.

numpy.random() 从全局流生成随机数.

在matlab中有一些名为RandStream的东西,它使我能够创建多个流.

有没有办法在Python中创建类似RandStream的东西

Vee*_*rac 10

Numpy和内部随机生成器都具有可实例化的类.

只是random:

import random
random_generator = random.Random()
random_generator.random()
#>>> 0.9493959884174072
Run Code Online (Sandbox Code Playgroud)

而对于Numpy:

import numpy
random_generator = numpy.random.RandomState()
random_generator.uniform(0, 1, 10)
#>>> array([ 0.98992857,  0.83503764,  0.00337241,  0.76597264,  0.61333436,
#>>>         0.0916262 ,  0.52129459,  0.44857548,  0.86692693,  0.21150068])
Run Code Online (Sandbox Code Playgroud)

  • @Atcold“此模块提供的功能实际上是random.Random`类的隐藏实例的绑定方法。您可以实例化自己的” Random`实例以获取不共享状态的生成器。“ -https://docs.python.org/3/library/random.html (2认同)