如何使用 Matlab 查找数组中四分位数值的索引值?



我有一个维度为 1x3000 的向量。我使用 Matlab 中的百分位函数找到了百分位值。但是我无法在向量内找到四分位数的索引值。

y = rand(1,3000);
Q_2 = prctile(y,50);
Idx = find(y==Q_2);

Idx 返回一个空值。我应该能够获得包含中值的索引值。

您可以通过以下方式有效地找到最接近中位数(或任意q_2(的条目:

[~,Idx]=min(abs(q_2-y));

根据help min,返回的值Idx对应于差分向量中具有最小值的第一个元素。

最新更新