Normal Quantile with Precision

版本 2.0.0.0 (3.2 KB) 作者: Zdravko Botev
computes the normal quantile function with high precision for extreme values in the tail
268.0 次下载
更新时间 2016/4/27

查看许可证

computes the quantile function of the standard normal distribution, truncated to the interval [l,u].
Method designed for precision in the tails. Inf values for vectors 'l' and 'u' accepted;
%Example: Suppose you desire the median of Z~N(0,1), truncated to Z>9;
norminvp(0.5,9,Inf) %our method
% in contrast, Matlab's default norminv.m fails
pl=normcdf(9); norminv(0.5*(1-pl)+pl)

Reference:
Botev, Z. I. (2016). "The normal law under linear restrictions:
simulation and estimation via minimax tilting". Journal of the Royal Statistical Society: Series B (Statistical Methodology). doi:10.1111/rssb.12162

For more information, see: https://en.wikipedia.org/wiki/Normal_distribution#Quantile_function

引用格式

Zdravko Botev (2026). Normal Quantile with Precision (https://ww2.mathworks.cn/matlabcentral/fileexchange/53605-normal-quantile-with-precision), MATLAB Central File Exchange. 检索时间: .

MATLAB 版本兼容性
创建方式 R2015b
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Numbers and Precision 的更多信息
版本 已发布 发行说明
2.0.0.0

- updated the Newton method in "newton(p,l,u)" so that now the exit condition uses
relative error; previous version used absolute error criterion.

1.1.0.0

Vectorized the last update of the function.
If abs(x)>10^6, then there is no need for Newton iteration and the code now bypassed the
iteration;
Faster convergence of Newton's method using
the better initial guess of the root of nonlinear equation:
x=sqrt(l-2*reallog(1+p.*expm1(l/2-u/2)));
Corrected spelling mistake in title
Forgot to suppress output by adding a semicolon.

1.0.0.0

Uploaded better cover picture.
Added more tags.

Added reference to article.
Updated title: "Normal Quantile Function with Precision"