This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.


Quantile function of the normal distribution

MuPAD® notebooks are not recommended. Use MATLAB® live scripts instead.

MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.


stats::normalQuantile(m, v)


stats::normalQuantile(m, v) returns a procedure representing the quantile function (inverse) of the cumulative distribution function stats::normalCDF(m, v) of the normal distribution with mean m and variance v > 0: For 0 ≤ x ≤ 1, the solution of stats::normalCDF(m, v)(y) = x is given by y = stats::normalQuantile(m, v)(x).

The procedure f := stats::normalQuantile(m, v) can be called in the form f(x) with an arithmetical expression x. The return value of f(x) is either a floating-point number, ±infinity, or a symbolic expression:

If x is a real number between 0 and 1 and both m and v can be converted to floating-point numbers, then f(x) returns a real floating-point number approximating the solution y of stats::normalCDF(m, v)(y) = x.

The calls f(0) and f(0.0) produce -infinity for all values of m and v.

The calls f(1) and f(1.0) produce infinity for all values of m and v.

In all other cases, f(x) returns the symbolic call stats::normalQuantile(m, v)(x).

Numerical values for m and v are only accepted if they are real and v is positive.

Environment Interactions

The function is sensitive to the environment variable DIGITS which determines the numerical working precision.


Example 1

We evaluate the quantile function with mean m = π and variance v = 11 at various points:

f := stats::normalQuantile(PI, 11):
f(0), f(1/10), f(0.5), f(1 - 10^(-10)), f(1)

The value f(x) satisfies stats::normalCDF(PI, 11)(f(x)) = x:

stats::normalCDF(PI, 11)(f(0.987654))

delete f:

Example 2

We use symbolic arguments:

f := stats::normalQuantile(m, v): f(x), f(9/10)

When numerical values are assigned to m and v, the function f starts to produce floating-point values:

m := 17: v := 6: f(9/10), f(0.999)

Numerical values for x are only accepted if 0 ≤ x ≤ 1:


Error: An argument x with 0 <= x <= 1 is expected. [f]
delete f, m, v:



The mean: an arithmetical expression representing a real value


The variance: an arithmetical expression representing a positive real value

Return Values


Was this topic helpful?