Spec-Zone.ru › NumPy 2.0

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()
../../../_images/numpy-random-triangular-1.png

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/random/generated/numpy.random.triangular.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API