我想以概率1<l<10返回1/(2^(l-1))
1<l<10
1/(2^(l-1))
我应该怎么做而不是:
x = random() if x < 0.5: return 2
依此类推
谢谢
这将很有趣。。。我对这些事情有些不满意,所以好的材料师可以解决我的问题。
要从公式生成分布,您首先需要做一些积分并计算指定间隔的累积密度函数。特别是,我们需要开始计算归一化常数。
虽然@Fabrizio答案可能是正确的,但是有很多简单的方法可以完成工作-因为PDF看起来像,所以您想要的是截断的指数形式
一种方法: