向量MATLAB中四分位数介于0.25和0.75之间的数字

向量MATLAB中四分位数介于0.25和0.75之间的数字,matlab,quantile,Matlab,Quantile,我有一个简单数字的向量,例如: a=[1 2 3 4 5 6 7 8] 我希望所有向量的数字都在[25%75%]四分位数之间。但是,当我使用以下命令时: quantile(a,[0.25 0.75]) 它只给我2和6的两个数字(而不是3,4,5,6)。 你有什么解决办法吗?根据a的数学定义,函数应该不返回{3,4,5,6}给定[0.25 0.75] A的分位数可以被认为是A的倒数。因为CDF Fa(x)=P(a≤ x) 是一个右连续增函数,它的逆Fa-1(q)也是一对一函数 因此,分位数(0

我有一个简单数字的向量,例如:

a=[1 2 3 4 5 6 7 8]
我希望所有向量的数字都在[25%75%]四分位数之间。但是,当我使用以下命令时:

quantile(a,[0.25 0.75])
它只给我2和6的两个数字(而不是3,4,5,6)。
你有什么解决办法吗?

根据a的数学定义,函数应该返回
{3,4,5,6}
给定
[0.25 0.75]

A
的分位数可以被认为是
A
的倒数。因为CDF Fa(x)=P(a≤ x) 是一个右连续增函数,它的逆Fa-1(q)也是一对一函数

因此,
分位数(0.25)
只能返回单个值(标量),最小值
x
,这样p(a≤ x) =0.25

然而,逻辑索引将起到作用。请参阅下面的代码

% 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)
%MATLAB R2017a
a=[12345678];
Q=分位数(a,[0.25 0.75])%返回a的第25和第75个分位数
aQ=a(a>=Q(1)&a