在真实概率中,从区间中p
的所有实数中选择的随机数 为 的概率为 0% 。然而,有多大的几率(0,1)
0.5
rand == 0.5
在 MATLAB 中?我想这就像问在零和一之间有多少个双精度数字,或者可能还有其他因素在起作用。
在真实概率中,从区间中p
的所有实数中选择的随机数 为 的概率为 0% 。然而,有多大的几率(0,1)
0.5
rand == 0.5
在 MATLAB 中?我想这就像问在零和一之间有多少个双精度数字,或者可能还有其他因素在起作用。
没有关于 MATLAB 生成器的特定信息...
通常,即使是简单的伪随机生成器也有足够长的周期,可以覆盖所有可以用 double 表示的值。
如果 MATLAB 使用某种其他形式的生成随机数,那就更好了——所以假设它均匀地覆盖了 double 值的整个范围。
我相信概率是:您感兴趣的值周围的可表示数字之间的距离除以间隔的长度。请参阅双数据类型的最小步骤是什么?(.NET)用于讨论距离。
我不确定阿列克谢是不是想说这个,但受他的启发,我认为概率确实大约是 0.5 左右的数字之间的距离。
因此,我预计概率约为:
eps(0.5)
计算结果为 1.1102e-16
鉴于双数之间差异的单调性,我实际上认为这是成立的:
eps(0.5-eps(0.5)) <= yourprobability <= eps(0.5)
暗示范围为 5.5511e-17 至 1.1102e-16