python random.gammavariate(),伽玛分布随机数
random.gammavariate()方法
random模块中的gammavariate()方法,可以用于获取一个伽玛分布的随机数。
语法
gammavariate( alpha, beta )
python源码中对该方法的介绍:
Gamma distribution. Not the gamma function!
Conditions on the parameters are alpha > 0 and beta > 0.
The probability distribution function is:
x ** (alpha - 1) * math.exp(-x / beta)
pdf(x) = --------------------------------------
math.gamma(alpha) * beta ** alpha
参数
gammavariate()方法必须接受两个参数,而且第一个参数alpha必须大于0, 第二个参数beta也必须大于0,否则python会抛出ValueError。如果不传递参数,python抛出TypeError
gammavariate()实例代码
>>> import random
>>> random.gammavariate(1,2)
2.2968181119351843
>>> random.gammavariate(-1,0) #若传递的参数小于或等于0,python抛出ValueError
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/anaconda3/lib/python3.7/random.py", line 522, in gammavariate
raise ValueError('gammavariate: alpha and beta must be > 0.0')
ValueError: gammavariate: alpha and beta must be > 0.0
>>> random.gammavariate() #不传递参数的情况下,python抛出TypeError
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: gammavariate() missing 2 required positional arguments: 'alpha' and 'beta'