mt19937
背景
- 你需要把原来mtalab的代码翻译为c、python等等
- 你的代码里使用了随机数
- 你的老板又要求你实现的方法exactly the same
- 参考这里
mt19927
- Mersenne Twister是目前比较常用的随机数生成器
- 周期非常长$2^{19937}-1$,速度非常快
python代码
1 | import numpy as np |
MATLAB代码
1 | rand('twister', 1337); |
c++代码
1 | #include <iostream> |
还有一些
最简单的生成算法,混合同余法,可以看这里
c++11的random库,可以参考这里