红糖果仁沙琪玛 2022-07-09 09:52 采纳率: 25%
浏览 307
已结题

matlab prctile

matlab中prctile到底是怎么用的,返回的到底是什么,里面的原理和计算公式是什么,比如我输入

x = [2 3 4 5 6 7 8 9 0 1];

prctile(x, 10)

返回的是0.5,那么0.5是怎么算出来的,书上的解释是若x为向量,则计算x中数据大于p%的值,返回x中p百分位数。
我看的一脸懵,什么x中大于p%的值,我取的p是10,难道说计算x中大于0.1的数,那计算的数据又是什么,是计算的个数?计算的向量?那又是怎么计算的。
返回x中p百分位数我更是吐了,x中哪有百分位数,x里不全是整数么,哪有p?
有人能解释一下么,书上的解释写的让人云里雾里

  • 写回答

1条回答 默认 最新

  • 鹅毛在路上了 Matlab领域优质创作者 2022-07-09 10:39
    关注

    Y = prctile(X,p) 根据区间 [0,100] 中的百分比 p 返回数据向量或数组 X 中元素的百分位数。
    如果 X 是向量,则 Y 是标量或向量,向量长度等于所请求百分位数的个数 (length(p))。Y(i) 包含第 p(i) 个百分位数。

    百分位数——用99个数值或99个点,将按大小顺序排列的观测值X划分为100个等分,则这99个数值或99个点就称为百分位数,分别以Pl,P2,…,P99代表第1个,第2个,…,第99个百分位数。

    所以你的x先被排序变成[0 1 2 3 4 5 6 7 8 9],然后被分成了100等份,0-9之间每0.5是5%,一开始前5%是0,p%=10%就是0.5,p%=15%就是1,p%=20%就是1.5...100%就是9,50%就是取一半=4.5;

    第25百分位数又称第一个四分位数(First Quartile),用Q1表示;第50百分位数又称第二个四分位数(Second Quartile),用Q2表示;第75百分位数又称第三个四分位数(Third Quartile),用Q3表示。

    参考官方文档,有详细的算法使用及原理说明:https://ww2.mathworks.cn/help/releases/R2021a/stats/prctile.html
    https://ww2.mathworks.cn/help/matlab/ref/prctile.html

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 7月20日
  • 已采纳回答 7月12日
  • 创建了问题 7月9日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度