flopscope.numpy.random.RandomState.triangular
fnp.random.RandomState.triangular(self, left, mode, right, size=None)
Draw samples from the triangular distribution over the interval ``[left, right]``.
Adapted from NumPy docs np.random.RandomState.triangular
Legacy triangular distribution; cost = numel(output).
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.
New code should use the triangular method of a Generator instance instead; please see the random-quick-start.
Parameters
- left:float or array_like of floats
Lower limit.
- mode:float or array_like of floats
The value where the peak of the distribution occurs. The value must fulfill the condition
left <= mode <= right.- right:float or array_like of floats
Upper limit, must be larger than
left.- size:int or tuple of ints, optional
Output shape. If the given shape is, e.g.,
(m, n, k), thenm * n * ksamples are drawn. If size isNone(default), a single value is returned ifleft,mode, andrightare all scalars. Otherwise,flops.broadcast(left, mode, right).sizesamples are drawn.
Returns
- out:ndarray or scalar
Drawn samples from the parameterized triangular distribution.
See also
- we.flops.random.Generator.triangular which should be used for new code.
Notes
The probability density function for the triangular distribution is
The triangular distribution is often used in ill-defined problems where the underlying distribution is not known, but some knowledge of the limits and mode exists. Often it is used in simulations.
References
1
Wikipedia, "Triangular distribution"
https://en.wikipedia.org/wiki/Triangular_distributionExamples
Draw values from the distribution and plot the histogram:
>>> import matplotlib.pyplot as plt
>>> h = plt.hist(flops.random.triangular(-3, 0, 8, 100000), bins=200,
... density=True)
>>> plt.show()