在python中实现特定分布

问题描述 投票:3回答:3

我想以概率1<l<10返回1/(2^(l-1))

我应该怎么做而不是:

    x = random()
    if x < 0.5:
       return 2

依此类推

谢谢

python random probability
3个回答
1
投票

这将很有趣。。。我对这些事情有些不满意,所以好的材料师可以解决我的问题。

要从公式生成分布,您首先需要做一些积分并计算指定间隔的累积密度函数。特别是,我们需要开始计算归一化常数。Compute normalization constant


1
投票

虽然@Fabrizio答案可能是正确的,但是有很多简单的方法可以完成工作-因为PDF看起来像,所以您想要的是截断的指数形式


0
投票

一种方法:

© www.soinside.com 2019 - 2024. All rights reserved.