【发布时间】:2019-07-09 03:37:51
【问题描述】:
我正在尝试在 python 中分析随机数的随机流。具体来说,我正在研究来自 matlab 的以下伪随机流:mt19937ar(Mersenne Twister)、mcg16807(LCG)和 swb2712(带借位生成器的修改减法)。这是 matlab 的 PRNG 的reference page。
我知道 Mersenne Twister 是 python 中使用的默认随机生成器,我相信 numpy,mcg16807 也应该是可复制的,因为它是 LCG,但我不确定如何在 python 中复制 swb2712,因为它可能是专有的到matlab,我找不到源代码。我正在尝试做的事情是否可能,或者我应该诉诸使用 matlab 并收工?
【问题讨论】:
-
欢迎来到 StackOverflow。请与Minimal, Complete, and Verifiable example 一起分享您的尝试
-
我知道 python 很好,而且 yadda yadda,但是如果您确实可以访问 MATLAB,那么使用它不是更容易吗?这样,您还可以确保用于比较您要比较的任何内容的代码完全相同,并且不会冒险在编码方面存在一些差异,而且您可以节省时间
-
如果您不知道对已发布算法进行了哪些修改,这将很困难。顺便说一句,如果你想重现 Matlab 产生的随机数,你也必须使用相同的方法来播种 RNG。
标签: python matlab random statistics probability