gpt4 book ai didi

Java VS Matlab : Math. 随机()和随机数

转载 作者:行者123 更新时间:2023-11-29 09:52:33 24 4
gpt4 key购买 nike

我想问一下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,对其 PRNG 使用 Mersenne Twister 算法,但感知结果的随机性要低得多,请阅读:Random is barely random at all?

关于Java VS Matlab : Math. 随机()和随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35430471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com