Library of truncated normal distribution functions
This package provides
of the truncated normal distribution. Examples:
For more details
of the normal distribution, see
Wikipedia,
of truncated distributions, see
Wikipedia.
Extends from Modelica.Icons.Package (Icon for standard packages).
Name | Description |
---|---|
density | Density of truncated normal distribution |
cumulative | Cumulative distribution function of truncated normal distribution |
quantile | Quantile of truncated normal distribution |
Density of truncated normal distribution
Normal.density(u, u_min=0, u_max=1, mu=0, sigma=1);
This function computes the probability density function according to a truncated normal distribution with minimum value u_min, maximum value u_max, mean value of original distribution mu and standard deviation of original distribution sigma (variance = sigma2). Plot of the function:
For more details
of the normal distribution, see
Wikipedia,
of truncated distributions, see
Wikipedia.
density(0.5) // = 1.041828977196953 density(0.5,-1.5,1.5,1,0.9) // = 0.5365495585520803
TruncatedNormal.cumulative, TruncatedNormal.quantile.
Extends from Modelica.Math.Distributions.Interfaces.partialTruncatedDensity (Common interface of truncated probability density functions).
Name | Description |
---|---|
u | Random number over the real axis (-inf < u < inf) |
u_min | Lower limit of u |
u_max | Upper limit of u |
mu | Expectation (mean) value of the normal distribution |
sigma | Standard deviation of the normal distribution |
Name | Description |
---|---|
y | Density of u |
Cumulative distribution function of truncated normal distribution
Normal.cumulative(u, u_min=0, u_max=1, mu=0, sigma=1);
This function computes the cumulative distribution function according to a truncated normal distribution with minimum value u_min, maximum value u_max, mean value of original distribution mu and standard deviation of original distribution sigma (variance = sigma2). The returned value y is in the range:
0 ≤ y ≤ 1
Plot of the function:
For more details
of the normal distribution, see
Wikipedia,
of truncated distributions, see
Wikipedia.
cumulative(0.5) // = 0.5 cumulative(0.5,-1.5,1.5,1,0.9) // = 0.4046868865634537
TruncatedNormal.density, TruncatedNormal.quantile.
Extends from Modelica.Math.Distributions.Interfaces.partialTruncatedCumulative (Common interface of truncated cumulative distribution functions).
Name | Description |
---|---|
u | Value over the real axis (-inf < u < inf) |
u_min | Lower limit of u |
u_max | Upper limit of u |
mu | Expectation (mean) value of the normal distribution |
sigma | Standard deviation of the normal distribution |
Name | Description |
---|---|
y | Value in the range 0 <= y <= 1 |
Quantile of truncated normal distribution
Normal.quantile(u, y_min=0, y_max=1, mu=0, sigma=1);
This function computes the inverse cumulative distribution function (= quantile) according to a truncated normal distribution with minimum value u_min, maximum value u_max, mean value of original distribution mu and standard deviation of original distribution sigma (variance = sigma2). Input argument u must be in the range:
0 < u < 1
Output argument y is in the range:
y_min ≤ y ≤ y_max
Plot of the function:
For more details
of the normal distribution, see
Wikipedia,
of truncated distributions, see
Wikipedia.
quantile(0.001) // = 0.001087357613043849; quantile(0.5,0,1,0.5,0.9) // = 0.5
TruncatedNormal.density, TruncatedNormal.cumulative.
Extends from Modelica.Math.Distributions.Interfaces.partialTruncatedQuantile (Common interface of truncated quantile functions (= inverse cumulative distribution functions)).
Name | Description |
---|---|
u | Random number in the range 0 <= u <= 1 |
y_min | Lower limit of y |
y_max | Upper limit of y |
mu | Expectation (mean) value of the normal distribution |
sigma | Standard deviation of the normal distribution |
Name | Description |
---|---|
y | Random number u transformed according to the given distribution |