На основании математического определения квантиля функция quantile
должна не возвращать {3,4,5,6} заданного [0.25 0.75]
.
Квантиль a
можно рассматривать как обратную кумулятивной функции распределения (CDF) для a
.Поскольку CDF F_a (x) = P (a <= x) является непрерывной справа непрерывной функцией.Его обратное F_a ^ {- 1} (q) будет также функцией «один к одному».Таким образом, <code>quantile(0.25) может возвращать только одно значение, наименьшее значение x
такое, что P (a <= x) = 0,25.</p>
Однако, логическое индексирование поможет.Смотрите код ниже.
% MATLAB R2017a
a = [1 2 3 4 5 6 7 8]
Q = quantile(a,[0.25 0.75]) % returns 25th & 75th quantiles of a
aQ = a(a>=Q(1) & a<= Q(2)) % returns elements of a between 25th & 75th quantiles (inclusive)