DVegasa Asked:2020-08-18 20:59:20 +0000 UTC2020-08-18 20:59:20 +0000 UTC 2020-08-18 20:59:20 +0000 UTC 随机:数字越接近零,它应该越经常下降 772 有一个函数可以在半径 [-40 .. 40] 内给出一个随机数)? 可以有条件地表示为图形y(x) = -(x*x*0.061)+100 水平:应该下降的数字 垂直:下降的频率 java 3 个回答 Voted Pavel Mayorov 2020-08-18T21:24:06Z2020-08-18T21:24:06Z 有一些算法可以让您获得具有给定概率分布的随机数,但为了应用它们,您必须首先获得这个分布(或其密度)。 首先,看不同的分布,找到适合自己的或者自己画(画的既不是分布也不是概率密度)。概率分布将是 F(X) 的函数:[-40, 40] → [0, 1),密度将是 f(X) 的函数:[-40; 40] → [0, +∞)。 现在你能用它做什么。 第一个算法是数学的。我们通过标准方法生成一个从 0 到 1 的随机数,然后将函数逆函数应用于 F:X = F -1 (Y),其中 Y 是区间 [0, 1) 中的均匀分布的随机数。此选项的缺点是在高度非均匀分布上可能缺乏准确性,并且需要计算反函数。 第二种算法是迭代的。我们生成两个普通随机数,第一个(X)从 40 到 -40,第二个(Y)从 0 到概率密度的最大值。如果 f(X) < Y - 返回 X,否则 - 从头开始重复。 如果您生成整数而不是实数,那么对于第二种算法,您需要采用概率而不是概率密度。 Barmaley 2020-08-18T21:25:28Z2020-08-18T21:25:28Z 你用数学语言提出的函数叫做概率密度分布函数 使用给定函数生成随机数的一般规则F(x)如下: 1) 假设有一个生成器给出一个从 0 到 1 的均匀分布的随机值 - 我们将其表示为u 2)在这种情况下,您的随机值x应计算为: x=F^-1(u) //обратная функция от F с аргументом u 对于您的情况,它是:x=sqrt((100-u)/0.061) PS 一般来说,你的函数与高斯帽非常相似- 不要扭曲幂函数并应用它 - 正态分布。 Best Answer DVegasa 2020-08-22T03:21:14Z2020-08-22T03:21:14Z 我仍然解决了这个问题,但没有使用建议的选项。所以。最初,任务听起来是这样的:在 6 到 14 的范围内创建一个数字。数字越接近 10,它应该出现的频率越高(在问题本身中,我改变了问题的条件,但它没有没关系) 要解决它,您需要区间 [3..7] 中的两个随机数。 得到的两个数字必须相加。加法表: 结论: 这两个随机数之和就是我们最终 的数字结果,数字越接近10,越经常掉 PS我在Galyonkin的书中读到了这个方法
有一些算法可以让您获得具有给定概率分布的随机数,但为了应用它们,您必须首先获得这个分布(或其密度)。
首先,看不同的分布,找到适合自己的或者自己画(画的既不是分布也不是概率密度)。概率分布将是 F(X) 的函数:[-40, 40] → [0, 1),密度将是 f(X) 的函数:[-40; 40] → [0, +∞)。
现在你能用它做什么。
第一个算法是数学的。我们通过标准方法生成一个从 0 到 1 的随机数,然后将函数逆函数应用于 F:X = F -1 (Y),其中 Y 是区间 [0, 1) 中的均匀分布的随机数。此选项的缺点是在高度非均匀分布上可能缺乏准确性,并且需要计算反函数。
第二种算法是迭代的。我们生成两个普通随机数,第一个(X)从 40 到 -40,第二个(Y)从 0 到概率密度的最大值。如果 f(X) < Y - 返回 X,否则 - 从头开始重复。
如果您生成整数而不是实数,那么对于第二种算法,您需要采用概率而不是概率密度。
你用数学语言提出的函数叫做概率密度分布函数
使用给定函数生成随机数的一般规则
F(x)如下:1) 假设有一个生成器给出一个从 0 到 1 的均匀分布的随机值 - 我们将其表示为
u2)在这种情况下,您的随机值
x应计算为:对于您的情况,它是:
x=sqrt((100-u)/0.061)PS 一般来说,你的函数与高斯帽非常相似- 不要扭曲幂函数并应用它 - 正态分布。
我仍然解决了这个问题,但没有使用建议的选项。所以。最初,任务听起来是这样的:在 6 到 14 的范围内创建一个数字。数字越接近 10,它应该出现的频率越高(在问题本身中,我改变了问题的条件,但它没有没关系)
要解决它,您需要区间 [3..7] 中的两个随机数。
得到的两个数字必须相加。加法表:
结论:

这两个随机数之和就是我们最终
的数字结果,数字越接近10,越经常掉
PS我在Galyonkin的书中读到了这个方法