生成指数分布随机数的简单示例/解释

0 投票
1 回答
1052 浏览
提问于 2025-04-17 22:53

我有一些整数,范围是1到10。我想根据一个叫做x^2的分布来选择一个整数。

我想要的效果是这样的:

def random_from_exp(min, max, exponent):
  ...

我对数学和统计学不太了解,也不知道之前对这个问题的回答(比如lambda、反转等等)在我这个问题中是什么意思。请给我一个简单的解释和一个例子。

1 个回答

1

如果我没理解错的话,你是想生成一个在指数函数(x^2)上,并且在0到10之间的数字吧?

这其实很简单。你只需要从0到10的平方根之间随机选一个数字,然后把它平方就可以了。

import random
import math

print random.uniform(0, math.sqrt(10))**2

或者在你的情况下:

# I have no idea what the exp means. I'm assuming it means exponent.
def random_from_exp(min, max, exp): 
    return random.uniform(min, math.sqrt(max))**exp

这样会输出(最小值 <= 结果 <= 最大值)^ 指数

撰写回答