gpt4 book ai didi

python - 你能在 python 中复制 matlab 的旧伪随机数生成器吗?

转载 作者:行者123 更新时间:2023-11-28 18:03:51 24 4
gpt4 key购买 nike

我正在尝试分析 python 中随机数的随机流。具体来说,我正在研究来自 matlab 的以下伪随机流:mt19937ar(Mersenne Twister)、mcg16807(LCG)和 swb2712(带借位生成器的修改减法)。这是 reference page用于 matlab 的 PRNG。

我知道 Mersenne Twister 是 python 中使用的默认随机生成器,我相信 numpy,mcg16807 也应该是可复制的,因为它是一个 LCG,但我不确定如何在 python 中复制 swb2712,因为它可能是专有的到matlab,我找不到源代码。我正在尝试做的事情是可行的,还是我应该使用 matlab 就此结束?

最佳答案

从这篇博客来看,它似乎是基于George Marsaglia的ziggurat算法的变体(生成正态分布的随机数) https://blogs.mathworks.com/cleve/2015/05/18/the-ziggurat-random-normal-generator/

两个有用的引用...

George Marsaglia 和 W. W. Tsang,“用于生成随机变量的金字塔方法。”统计软件杂志 5, 1-7, 2000 http://www.jstatsoft.org/v05/i08

Jurgen A. Doornik,“一种改进的 Ziggurat 生成正常随机样本的方法。” PDF,牛津纳特菲尔德学院,2005 年 http://www.doornik.com/research/ziggurat.pdf

本演示文稿还将其详细描述为 swb2712:修改后的带借位减法生成器,滞后 27 和 12 ... http://profmsaeed.org/wp-content/uploads/2009/08/MATLAB-V.ppt

希望对您有所帮助!

关于python - 你能在 python 中复制 matlab 的旧伪随机数生成器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54701777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com