# quantile

Compute quantile values.

## Syntax

q = quantile(x)

q = quantile(x,p)

q = quantile(x,p,dim)

q = quantile(x,p,dim,method)

## Inputs

x
Data sample.
Type: double
Dimension: vector | matrix
p
Probabilities for which to compute quantile values.
Default: [0.0, 0.25, 0.5, 0.75, 1.0].
Type: double
Dimension: scalar | vector
dim
Dimension on which to perform the calculation.
Default: first non-singleton dimension.
Type: integer
Dimension: scalar
method
Quantiles are computed by defining an inverse distribution function from the empirical sample. Let n equal the sample size in what follows. The available options are:
'1'
The inverse cumulative distribution function, which is a left continuous step function.
'2'
The inverse cumulative distribution function, using average sample values at the discontinuities.
'3'
Select samples with index k nearest to n * p, choosing the even index when two are equally close (SAS method).
'4'
Interpolate sample k using p(k) = k / n (Parzen method).
'5'
Interpolate sample k using p(k) = (k - 0.5) / n (Hazen method).
'6'
Interpolate sample k using p(k) = k / (n + 1) (Weibull method).
'7'
Interpolate sample k using p(k) = (k - 1) / (n - 1) (Gumbel method).
'8'
Interpolate sample k using p(k) = (k - 1/3) / (n + 1/3) (median unbiased method).
'9'
Interpolate sample k using p(k) = (k - 3/8) / (n + 1/4) (normal unbiased method).
Default: 5.
Type: integer
Dimension: scalar

## Outputs

q
Quantiles for each entry in p.

## Examples

Matrix case operating by row:
x = [0.69  0.58  0.55  0.60  0.71  0.30  0.67  0.46  0.64  0.78  0.85  0.76  0.59  0.38  0.90  0.81  0.53  0.73  0.62  0.43;
0.84  0.75  0.57  0.36  0.55  0.64  0.73  0.68  0.60  0.62  0.78  0.49  0.46  0.27  0.42  0.81  0.66  0.89  0.52  0.71];
p = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0];
q = quantile(x, p, 2, 5)
q = [Matrix] 2 x 6
0.30000  0.49500  0.59500  0.68000  0.77000  0.90000
0.27000  0.47500  0.58500  0.67000  0.76500  0.89000