我想尽量避免重复。我已经运行了相同的Matlab程序,它多次使用“随机”数字,得到了完全相同的结果。我了解到我应该将命令shuffle放在开头,然后程序将根据时钟上的时间将默认的种子替换为新的种子。但是伪随机数发生器的输出序列仍将包含一个模式.
我最近学到了一个量子盒随机数发生器(这或类似的东西),在在线查找它的过程中,我发现了两个提供随机数的web服务器,这些服务器是通过量子力学手段连续生成的:ANU光电子学和安清荣。
要买一个量子盒看起来很难,那么我如何将其中一个在线服务器集成到Matlab中呢?
发布于 2016-12-05 22:38:09
在http://qrng.anu.edu.au上,单击文本中的" download“链接,它将带您到一个常见问题页面,它告诉您要以不同的方式下载什么来使用随机数生成器。最后一个列表是Matlab,它提供了一个直接下载一些代码来访问随机数的链接,以及一个到Matlab的链接来下载JSON解析器,这是它工作所必需的。
代码非常简单,并且作为脚本只显示它获取的值,但可以很容易地转换为函数。我将parse_json.zip的内容解压缩到C:/Program / Matlab /version/toolbox/ Path解析器中,这是工具箱中的一个新文件夹,导航到Matlab中当前文件夹中的工具箱,右键单击JSONparser,然后单击Add to Path。
阅读Matlab页面上的JSON注释,了解一次可以拉下多少随机数的限制。
随机数是16位非负整数;要创建一个具有更多位(例如32位)的随机整数,我建议取其中的两个整数,乘以2^16,并将它们相加。如果您想要一个介于0和1之间的数字,那么将之和除以2^32。
https://stackoverflow.com/questions/40984646
复制相似问题