Truncated Gaussian
% function X = TruncatedGaussian(sigma, range)
% X = TruncatedGaussian(sigma, range, n)
Generate a pseudo-random vector X of size n, X are drawn from the truncated Gaussian distribution in a RANGE braket; and satisfies std(X)=sigma.
RANGE is of the form [left,right] defining the braket where X belongs. For a scalar input RANGE, the braket is [-RANGE,RANGE].
If input SIGMA is negative, X will be forced to have the same "shape" of distribution function than the unbounded Gaussian with standard deviation -SIGMA: N(0,-SIGMA). It is similar to calling RANDN and throw away values ouside RANGE. In this case, the standard deviation of the truncated Gaussian will be different than -SIGMA. The *effective* mean and the effective standard deviation can be obtained by calling:
[X meaneffective sigmaeffective] = TruncatedGaussian(...)
Cite As
Bruno Luong (2026). Truncated Gaussian (https://uk.mathworks.com/matlabcentral/fileexchange/23832-truncated-gaussian), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- AI and Statistics > Statistics and Machine Learning Toolbox > Probability Distributions and Hypothesis Tests > Continuous Distributions > Inverse Gaussian Distribution >
Tags
Acknowledgements
Inspired: Truncated multivariate normal
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
