生成随机数从负0.5

9的观点(30天)
Raj Arora
Raj Arora 2021年9月8日
评论道: Raj Arora2021年9月8日
Z =(负0.5326 0.6 0.6674正无穷)
我上面有间隔(负0.5326)(0.5326 - 0.6)(0.6 - 0.6674)(0.6674正)。这些间隔之间,我需要产生随机数。你如何做第一个和最后一个样品吗?我想用下面的公式,但它不是工作。有一个方法来做到这一点,如果是这样,有什么问题我的公式和如何修复它?谁能帮我。谢谢提前
如果我= 1
样本(i) =兰迪([-10 ^ 5,咱(i + 1), 1)
else if i = n
样本(i) =兰迪((咱(张),10 ^ 5),1)

接受的答案

Bjorn Gustavsson
Bjorn Gustavsson 2021年9月8日
自cummulative-distribution-function random-number-distribution必须一个+∞,你需要有一些减少作为概率密度函数 Z 变得很小或很大。因此你需要添加更多的信息解决方案。从上面给出的信息您可以简单地使用类似:
n_samples = 123;
Z =(负0.5326 0.6 0.6674 Inf);
z =兰德(n_samples, 1);
iGroup =元素个数(Z): 1:2;
z_groups {iGroup-1} = z (z (iGroup-1) < z&z < = z (iGroup));
结束
满足你的要求,从某种意义上说,你会得到样本在每个intervall指定,指定你没多大比例的随机数要么intervall预计将下降,和他们probabillity分布。
HTH

答案(1)

沃尔特·罗伯森
沃尔特·罗伯森 2021年9月8日
与什么分布随机数?
你正在寻找无限的反面,但在双精度,可表示的值更少致密程度变大。相邻的数字在10 ^ 20之间的距离是2 ^ 14;相邻的数字在10 ^ 40之间的距离是2 ^ 80。所以它不 可能的 能够区分10 ^ 20 + 0.6和10 ^ 20 + 0.6674(例如)——如果你使用双精度数字。
如果你想要均匀随机分布有问题,除非你切换到一个不同的表示。
有多少 不同的 值需要代表范围内(0.5326 - 0.6)?674个不同的值,如0.5326,0.5327,0.5328,……0.5998,0.5999,.6000吗?有多少 不同的 起价值观感情负无穷和0.5326需要代表吗?如果你想要2 ^ 53个不同的值代表最大浮点数和0.5326之间你要均匀随机分布,然后数字必须大约相隔10 ^ 291。如果你去2 ^ 64不同的可表示的值,它们必须约2.4 * 10 ^ 288年分开

类别

找到更多的在随机数生成帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!