numpy.random.triangular
- random.triangular(left, mode, right, size=None)
-
Draw samples from the triangular distribution over the interval
[left, right].The triangular distribution is a continuous probability distribution with lower limit left, peak at mode, and upper limit right. Unlike the other distributions, these parameters directly define the shape of the pdf.
Примечание
Новый код должен использовать метод
triangularэкземпляраGenerator; см. Быстрый старт.- Параметры:
-
- leftfloat или array_like из float
-
Нижняя граница.
- modefloat или array_like из float
-
Значение, где происходит пик распределения. Значение должно удовлетворять условию
left <= mode <= right. - rightfloat или array_like из float
-
Верхняя граница, должна быть больше, чем
left. - sizeint или кортеж из целых чисел, необязательно
-
Форма выходных данных. Если заданная форма, например,
(m, n, k), тоm * n * kвыборок генерируются. Если size —None(по умолчанию), возвращается единственное значение, еслиleft,mode, иright— скаляры. В противном случаеnp.broadcast(left, mode, right).sizeвыборок генерируется.
- Возвращаемое значение:
-
- outndarray или скаляр
-
Сгенерированные выборки из параметризованного треугольного распределения.
См. также
random.Generator.triangular-
который следует использовать для нового кода.
Примечания
Плотность вероятности для треугольного распределения:
\[\begin{split}P(x;l, m, r) = \begin{cases} \frac{2(x-l)}{(r-l)(m-l)}& \text{для $l \leq x \leq m$},\\ \frac{2(r-x)}{(r-l)(r-m)}& \text{для $m \leq x \leq r$},\\ 0& \text{в противном случае}. \end{cases}\end{split}\]Треугольное распределение часто используется в плохо определенных задачах, где основное распределение неизвестно, но известны границы и мода. Часто используется в симуляциях.
Ссылки
[1]Википедия, “Треугольное распределение” 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()
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/random/generated/numpy.random.triangular.html