生成指数分布随机数的简单示例/解释
我有一些整数,范围是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
这样会输出(最小值 <= 结果 <= 最大值)^ 指数