Copyright | Copyright (c) 2009-2017 David Sorokin <david.sorokin@gmail.com> |
---|---|
License | BSD3 |
Maintainer | David Sorokin <david.sorokin@gmail.com> |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Tested with: GHC 8.0.1
This module defines the random parameters of simulation experiments.
To create a parameter that would return the same value within the simulation run,
you should memoize the computation with help of memoParameter
, which is important
for the Monte-Carlo simulation.
To create a random function that would return the same values in the integration
time points within the simulation run, you should either lift the computation to
the Dynamics
computation and then memoize it too but using the memo0Dynamics
function for that computation, or just take the predefined function that does
namely this.
- randomUniform :: MonadComp m => Double -> Double -> Parameter m Double
- randomUniformInt :: MonadComp m => Int -> Int -> Parameter m Int
- randomTriangular :: MonadComp m => Double -> Double -> Double -> Parameter m Double
- randomNormal :: MonadComp m => Double -> Double -> Parameter m Double
- randomLogNormal :: MonadComp m => Double -> Double -> Parameter m Double
- randomExponential :: MonadComp m => Double -> Parameter m Double
- randomErlang :: MonadComp m => Double -> Int -> Parameter m Double
- randomPoisson :: MonadComp m => Double -> Parameter m Int
- randomBinomial :: MonadComp m => Double -> Int -> Parameter m Int
- randomGamma :: MonadComp m => Double -> Double -> Parameter m Double
- randomBeta :: MonadComp m => Double -> Double -> Parameter m Double
- randomWeibull :: MonadComp m => Double -> Double -> Parameter m Double
- randomDiscrete :: MonadComp m => DiscretePDF a -> Parameter m a
- randomTrue :: MonadComp m => Double -> Parameter m Bool
- randomFalse :: MonadComp m => Double -> Parameter m Bool
Documentation
Computation that generates a new random number distributed uniformly.
Computation that generates a new random integer number distributed uniformly.
Computation that generates a new random number from the triangular distribution.
Computation that generates a new random number distributed normally.
:: MonadComp m | |
=> Double | the mean of a normal distribution which this distribution is derived from |
-> Double | the deviation of a normal distribution which this distribution is derived from |
-> Parameter m Double |
Computation that generates a new random number from the lognormal distribution.
Computation that returns a new exponential random number with the specified mean (the reciprocal of the rate).
Computation that returns a new Erlang random number with the specified scale (the reciprocal of the rate) and integer shape.
Computation that returns a new Poisson random number with the specified mean.
Computation that returns a new binomial random number with the specified probability and trials.
Computation that returns a new random number from the Gamma distribution.
Computation that returns a new random number from the Beta distribution.
Computation that returns a new random number from the Weibull distribution.
randomDiscrete :: MonadComp m => DiscretePDF a -> Parameter m a Source #
Computation that returns a new random value from the specified discrete distribution.
Computation that returns True
in case of success.