我正在尝试将 matlab 代码移植到 c++ 中,并在 matlab 中找到了 rand 的用法。 matlab的rand函数和c++的rand()函数一样吗? 如果没有,在 C++ 或 opencv 中是否有用于 matlab 的 rand 的内置函数?
最佳答案
鉴于 C++ 标准仅松散地定义了 rand()
,您可以不断言它等价于 matlab 函数。
幸运的是,C++11 现在有一套生成器,它们在标准包含 header 中被标准化 <random>
.例如,std::mt19937
是一个梅森扭曲发生器和std::minstd_rand
是一个线性同余生成器,允许您配置序列系数。
我的猜测是 Matlab 生成器可以用后一个生成器复制。有关具体细节,请参阅 Matlab 文档。幸运的是,测试您的代码将是微不足道的。
关于c++ - Matlab rand 和 c++ rand(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52004138/