chrono::ChDiscreteDistribution Class Reference

Description

Class that can be used to generate sample numbers according to a discrete probability distribution.

Probability distribution is defined with discrete values, each with a percentual of probability.

#include <ChRandom.h>

Inheritance diagram for chrono::ChDiscreteDistribution:
Collaboration diagram for chrono::ChDiscreteDistribution:

Public Member Functions

 ChDiscreteDistribution (ChVectorDynamic<> &discrete_values, ChVectorDynamic<> &probabilities)
 Create an object that can be used to generate sample numbers according to a discrete probability distribution.
 
virtual double GetRandom () override
 Compute a random value, according to the discrete probability values entered when you created this object.
 
const ChVectorDynamicGetProbabilityXPoints () const
 
const ChVectorDynamicGetProbabilityYPoints () const
 
const ChVectorDynamicGetProbabilityCDFCumulativeY () const
 

Constructor & Destructor Documentation

◆ ChDiscreteDistribution()

chrono::ChDiscreteDistribution::ChDiscreteDistribution ( ChVectorDynamic<> & discrete_values,
ChVectorDynamic<> & probabilities )

Create an object that can be used to generate sample numbers according to a discrete probability distribution.

Probability distribution is defined with N discrete values, each with a percentual of probability. The sum of the N probability values must be unit, i.e normalized (but if not, a normalization will be enforced) For example, to get '12.3' for 30% of the times you call GetRandom(), and '150' for the remaining 70% of the times, create ChDiscreteDistribution with x = [12.3; 150] and y = [0.3; 0.7]

Member Function Documentation

◆ GetRandom()

double chrono::ChDiscreteDistribution::GetRandom ( )
overridevirtual

Compute a random value, according to the discrete probability values entered when you created this object.

Implements chrono::ChDistribution.


The documentation for this class was generated from the following files:
  • C:/M/B/src/chrono-9.0.1/src/chrono/core/ChRandom.h
  • C:/M/B/src/chrono-9.0.1/src/chrono/core/ChRandom.cpp