上一个主题

numpy.random.triangular

下一个主题

numpy.random.vonmises

numpy.random.uniform

numpy.random.uniform(low=0.0, high=1.0, size=None)

从均匀分布中提取样品。

样品在半开放区间内均匀分布。 [low, high) (包括低,但不包括高)。换言之,给定间隔内的任何值同样可能被 uniform .

参数:
low : 浮点数或类似浮点数的数组,可选

输出间隔的下限。生成的所有值都将大于或等于“低”。默认值为0。

high : 浮点数或类似浮点数的数组

输出间隔的上边界。生成的所有值都将小于高。默认值为1.0。

size : int或int的元组,可选

输出形状。如果给定的形状是,例如, (m, n, k) 然后 m * n * k 取样。如果尺寸是 None (默认),如果 lowhigh 都是标量。否则, np.broadcast(low, high).size 取样。

返回:
out : ndarray或scalar

从参数化均匀分布中提取样本。

参见

randint
离散均匀分布,产生整数。
random_integers
闭区间上的离散均匀分布 [low, high] .
random_sample
浮体均匀分布 [0, 1) .
random
Alias random_sample .
rand
接受尺寸作为输入的便利功能,例如, rand(2,2) 将生成一个2乘2的浮动数组,均匀分布在 [0, 1) .

笔记

均匀分布的概率密度函数是

p(x)=frac 1 b-a

间隔内的任何地方 [a, b) ,其他地方为零。

什么时候? high = lowlow 将被退回。如果 high < low ,结果是官方未定义的,并且可能最终导致错误,即当传递满足该不等式条件的参数时,不要依赖此函数的行为。

实例

从分发中抽取样本:

>>> s = np.random.uniform(-1,0,1000)

所有值都在给定的间隔内:

>>> np.all(s >= -1)
True
>>> np.all(s < 0)
True

显示样本的直方图,以及概率密度函数:

>>> import matplotlib.pyplot as plt
>>> count, bins, ignored = plt.hist(s, 15, density=True)
>>> plt.plot(bins, np.ones_like(bins), linewidth=2, color='r')
>>> plt.show()
../../_images/numpy-random-uniform-1.png