0

我在 Mathworks 的文件交换站点上看到了几个Matlab 贡献,作者在使用 mex 编译时使用选项“-DranSHR3”。我检查了mex、 GNU GCC和 Microsoft 的cl文档,但一无所获。

关于这个选项的用途有什么想法吗?我在哪里可以找到有关它的更多详细信息?

谢谢

4

2 回答 2

2

该选项-DranSHR3定义了预处理器符号ranSHR3,它依次选择 SHR3 随机生成器而不是默认生成器。

在这里您可以阅读有关 Matlab 的随机生成器的信息。

在这里,我发现了一个关于 SHR3 的有点长的评论。

至少在 Matlab R2010b 中,随机流的默认生成器是 Mersenne Twister,这是一个非常好的选择。SHR3 与 Mersenne Twister 相比可能更快,我不知道。可以肯定的是,SHR3 的随机属性比 Mersenne Twister 更差,对于初学者来说,它的周期较短,为 2^64,而不是 MT 的 2^19936-1。是相应的 Matlab 文档。

也许 SHR3 的流行源于 Mersenne Twister 不是默认或兼容性的旧版本?

于 2011-01-21T17:41:42.270 回答
1

-D通常用于设置宏:应该相当于放一个

#define ranSHR3

在任何源文件中。

于 2011-01-21T17:36:11.460 回答