【发布时间】:2015-09-23 20:41:06
【问题描述】:
我有一个这种形式的数据矩阵:
5400 5700 6200 5200 6100 5500
5500 5900 7000 5900 6200 6000
6100 10300 7500 6200 6500 6600
6800 10900 7900 9400 9600 6600
7300 12500 10600 13000 10000 7900
7300 15700 10600 13200 14000 9200
11700 16200 11000 14900 14600 10800
12500 16500 11800 18100 14600 12900
13400 17000 19200 19300 16900 17100
14000 18700 20900 19700 17700 17700
14600 18800 22900 20200 17900 18500
15000 20800 24400 20800 19900 18700
15700 21100 25400 21500 22300 19700
16800 22000 26400 21700 22300 23300
实际的矩阵要大得多。
我想为每一行计算两个值,以百分位数的形式描述平均值的变化范围,即“高于平均值的所有值的 95% 低于 X,低于平均值的所有值的 95%高于 Y”。
最好的方法是什么?
类似:
a = prctile(tcIED',0.90)
只产生一个值 - 这似乎也不准确(低于预期)。
【问题讨论】:
-
如果你想为每一行做索引,你必须索引每一行,即 a(:,1) = prctile(tcIED(:,1),0.90)
-
@GameOfThrows 不需要。
prctile自动对其输入矩阵的每一列起作用 -
@LuisMendo 哦!我明白了,很高兴知道,谢谢你:)
标签: matlab percentile