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

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日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装