我看过several Matlab在Mathworks的文件交换站点上的贡献,作者在编译mex时使用选项“-DranSHR3”。我检查了mex,GNU GCC和微软的cl文件,但没有发现任何内容。什么是mex编译器中的“-DranSHR3”选项
关于这个选项用于什么的想法?我在哪里可以找到更多关于它的细节?
由于
我看过several Matlab在Mathworks的文件交换站点上的贡献,作者在编译mex时使用选项“-DranSHR3”。我检查了mex,GNU GCC和微软的cl文件,但没有发现任何内容。什么是mex编译器中的“-DranSHR3”选项
关于这个选项用于什么的想法?我在哪里可以找到更多关于它的细节?
由于
选项-DranSHR3
定义了预处理器符号ranSHR3
,它依次选择SHR3随机生成器而不是默认的生成器。
Here你可以阅读关于Matlab的随机生成器。
Here我发现了一个关于SHR3的有点长的评论。
至少在Matlab R2010b中,随机流的默认生成器是Mersenne Twister,它是一个非常好的选择。 SHR3与Mersenne Twister相比可能会更快,我不知道。可以肯定的是SHR3比Mersenne Twister具有更差的随机特性,对于初始者来说它具有更短的2^64而不是MT的2^19936-1。 Here是相应的Matlab文档。
也许SHR3的流行起源于Mersenne Twister不是默认或兼容性的旧版本?
-D
通常用于设定一个宏:它应该是等于将一个
#define ranSHR3
在任何源文件。
谢谢@Peter G.为什么SHR3比默认随机生成器更受欢迎?我可以在哪里了解更多关于这方面的信 – 2011-01-21 17:45:37