当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy random.mtrand.RandomState.triangular用法及代码示例


用法:

RandomState.triangular(left, mode, right, size=None)

从区间上的三角形分布中抽取样本[left, right]

三角分布是连续的概率分布,左下限,模式峰值和右上限。与其他分布不同,这些参数直接定义了pdf的形状。

参数:
left float 或 array_like of floats

下限。

mode float 或 array_like of floats

分布峰值出现的值。该值必须满足条件left <= mode <= right

right float 或 array_like of floats

上限,必须大于左侧。

size int 或 tuple of ints, 可选参数

输出形状。如果给定的形状是(m, n, k), 然后m * n * k抽取样品。如果尺寸是None(默认),如果返回一个值leftmoderight都是标量。除此以外,np.broadcast(left, mode, right).size抽取样品。

返回值:
out ndarray或标量

从参数化的三角分布中抽取样本。

注意:

三角分布的概率密度函数为

P(x;l, m, r) = \begin{cases}
\frac{2(x-l)}{(r-l)(m-l)}& \text{for $l \leq x \leq m$},\\
\frac{2(r-x)}{(r-l)(r-m)}& \text{for $m \leq x \leq r$},\\
0& \text{otherwise}.
\end{cases}

三角形分布通常用于ill-defined问题中,其中基础分布未知,但是存在一些关于极限和模式的知识。通常将其用于仿真中。

参考文献:

[1]维基百科,“Triangular distribution”https://en.wikipedia.org/wiki/Triangular_distribution

例子:

从分布中绘制值并绘制直方图:

>>> import matplotlib.pyplot as plt
>>> h = plt.hist(np.random.triangular(-3, 0, 8, 100000), bins=200,
...              density=True)
>>> plt.show()
../../../_images/numpy-random-mtrand-RandomState-triangular-1.png

注:本文由纯净天空筛选整理自 numpy.random.mtrand.RandomState.triangular。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。