Matlab Random和C++ Random有相同的种子吗?

tah*_*aha 6 c++ random matlab random-seed

std::mt19937 gen(2007)在c ++和RandStream.create('mt19937ar','seed',2007)Matlab中尝试过.我也尝试了不同的结构,但我找不到特定的种子结构来在Matlab和c ++之间找到相同的随机数.我怎么处理这个?

mrV*_*oid 3

您希望随机生成器具有确定性,并且在两种不同的实现中以相同的方式工作。

无法保证 Matlab 和 c++::std 实现会生成相同的结果。尽管认为它们应该是合理的,但毕竟是相同的算法。根据维基百科,这些实现有多种风格。最值得注意的是 32 位和 64 位实现之间的差异会产生不同的结果。

为了克服这一障碍,在一个工具中生成数字,然后在另一个工具中使用相同的序列。或者使用您自己的算法 -这里有一些想法。