## Documentation Center |

This section explains how the Statistics Toolbox™ functions `quantile` and `prctile` compute
quantiles and percentiles.

The `prctile` function calculates the percentiles
in a similar way as `quantile` calculates quantiles.
The following steps in the computation of quantiles are also true
for percentiles, given the fact that, for the same data sample, the
quantile at the value Q is the same as the percentile at the value
P = 100*Q.

`quantile`initially assigns the sorted values in`X`to the (0.5/*n*), (1.5/*n*), ..., ([*n*– 0.5]/*n*) quantiles. For example:For a data vector of six elements such as {6, 3, 2, 10, 8, 1}, the sorted elements {1, 2, 3, 6, 8, 10} respectively correspond to the (0.5/6), (1.5/6), (2.5/6), (3.5/6), (4.5/6), and (5.5/6) quantiles.

For a data vector of five elements such as {2, 10, 5, 9, 13}, the sorted elements {2, 5, 9, 10, 13} respectively correspond to the 0.1, 0.3, 0.5, 0.7, and 0.9 quantiles.

The following figure illustrates this approach for data vector

*X*= {2, 10, 5, 9, 13}. The first observation corresponds to the cumulative probability 1/5 = 0.2, the second observation corresponds to the cumulative probability 2/5 = 0.4, and so on. The step function in this figure shows these cumulative probabilities.`quantile`instead places the observations in midpoints, such that the first corresponds to 0.5/5 = 0.1, the second corresponds to 1.5/5 = 0.3, and so on, and then connects these midpoints. The red lines in the following figure connect the midpoints.**Assigning Observations to Quantiles**By switching the axes, as the next figure, you can see the values of the variable

*X*that correspond to the`p`quantiles.**Quantiles of***X*`quantile`finds any quantiles between the data values using linear interpolation.*Linear interpolation*uses linear polynomials to approximate a function f(*x*) and construct new data points within the range of a known set of data points. Algebraically, given the data points (*x*_{1},*y*_{1}) and (*x*_{2},*y*_{2}), where*y*_{1}= f(*x*_{1}) and*y*_{2}= f(*x*_{2}), linear interpolation finds*y*= f(*x*) for a given*x*between*x*_{1}and*x*_{2}as follows:Similarly, if the 1.5/

*n*quantile is*y*_{1.5/n}and the 2.5/*n*quantile is*y*_{2.5/n}, then linear interpolation finds the 2.3/*n*quantile*y*_{2.3/n}as`quantile`assigns the first and last values of*X*to the quantiles for probabilities less than (0.5/*n*) and greater than ([*n*–0.5]/*n*), respectively.

Was this topic helpful?