TruncatedNormal

class TruncatedNormal(normalMean: Double, normalVariance: Double, interval: Interval, name: String? = null) : Distribution, ContinuousDistributionIfc, InverseCDFIfc, GetRVariableIfc(source)

Creates a truncated normal distribution over the supplied interval. The supplied mean normalMean and variance normalVariance is the mean of the not truncated normal distribution. The supplied mean must be contained within the supplied interval.

Uses the algorithm:

  1. W ~ U(F(a), F(b))

  2. X = F^{-1}(W)

where "a" is the lower limit and b is the upper limit, and F is the normal distribution CDF.

Constructors

Link copied to clipboard
constructor(normal: Normal, interval: Interval, name: String? = null)
constructor(normalMean: Double, normalVariance: Double, interval: Interval, name: String? = null)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
open override fun cdf(x: Double): Double

Returns the F(x) = Pr{X <= x} where F represents the cumulative distribution function

Link copied to clipboard
open override fun domain(): Interval
Link copied to clipboard
open override fun instance(): TruncatedNormal
Link copied to clipboard
open override fun invCDF(p: Double): Double

Provides the inverse cumulative distribution function for the distribution

Link copied to clipboard
open override fun mean(): Double

This is the mean of the truncated distribution.

Link copied to clipboard
open override fun parameters(): DoubleArray

Gets the parameters of the truncated distribution normal mean = parameter0 normal variance = parameters1 lower limit = parameters2 upper limit = parameters3

open override fun parameters(params: DoubleArray)

Sets the parameters of the truncated distribution normal mean = parameter0 normal variance = parameters1 lower limit = parameters2 upper limit = parameters3

Link copied to clipboard
open override fun pdf(x: Double): Double

Returns the f(x) where f represents the probability density function for the distribution. Note this is not a probability.

Link copied to clipboard
open override fun randomVariable(streamNumber: Int, streamProvider: RNStreamProviderIfc): TruncatedNormalRV

Promises to return a random variable that uses the supplied stream number using the supplied stream provider

Link copied to clipboard
fun setLimits(normalMean: Double, normalVariance: Double, interval: Interval)

Should be used to change the parameters of the distribution

fun setLimits(normalMean: Double, normalVariance: Double, lower: Double, upper: Double)

A convenience function for setting the parameters of the distribution.

Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
open override fun variance(): Double

This is the variance of the truncated distribution.