我在Mathworks的文件交换站点上看到
了一些 Matlab的贡献,其中的作者在使用mex进行编译时使用选项“ -DranSHR3”。我检查了
mex ,GNU
GCC和Microsoft的
cl文档,但一无所获。
关于此选项的用途有什么想法?在哪里可以找到更多详细信息?
谢谢
回答:
选项-DranSHR3定义了预处理器Symbol ranSHR3 ,它依次选择SHR3随机生成器而不是默认生成器。
在这里,您可以阅读有关Matlab随机发生器的信息。
在这里,我发现了有关SHR3的较长评论。
至少在Matlab R2010b中,随机流的默认生成器是Mersenne Twister,这是一个很好的选择。我不知道SHR3与梅森·Twister相比可能更快。可以确定的是,SHR3的随机性要比Mersenne Twister差,对于初学者而言,它的周期较短,为2 ^ 64,而不是MT的2 ^ 19936-1。
这是相应的Matlab文档。
也许SHR3的流行源于不是默认版本或出于兼容性的较旧版本?
更多&回答...