Pat*_*ick 1 java random matlab
我想问一下Java和Matlab中的随机数.
Java中的Math.random和Matlab中的rand有相同的含义或两者有什么不同?如果意义不同,有什么区别?
对于MATLAB,请参阅http://www.mathworks.com/company/newsletters/news_notes/pdf/Cleve.pdf这也解释了乘同余发生器在Matlab中是如何工作的.
对于Java,请参阅http://www.javamex.com/tutorials/random_numbers/java_util_random_algorithm.shtml#.VsMAw3WLSkA,它解释了线性同余生成器如何在Java Utils类中生成随机数.
两者基本上是相同的算法,其中Matlab的MCG是LCG的特例,请参见此处:https://en.wikipedia.org/wiki/Linear_congruential_generator
是的,C++(Borland),Java.Utils,Matlab语言使用的算法基本相同,因为它是高效的 - 它具有极高的内存效率,它具有扁平的线性分布(即伪随机) - >但它很差质量伪随机,因为串行相关.
但是那里有更好的算法,不同的算法,以Python为例,使用Mersenne Twister算法作为其PRNG,但感知结果的随机性要小得多,请仔细阅读:随机几乎没有随机性?
| 归档时间: |
|
| 查看次数: |
464 次 |
| 最近记录: |