假设你的中间范围是[-10 10]那么指数将是:
> find(-10< M & M< 10)
ans =
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
请注意,您还可以通过逻辑索引来访问值,例如:
> M(-10< M & M< 10)
ans =
Columns 1 through 15:
-7.37500 -5.50000 -1.66667 -1.33333 and so on ...
为了获得你的中档,只需:
> q= quantile(M(:), [.25 .75])
q =
-1.3214
17.0917
> find(q(1)< M & M< q(2))
ans =
8 9 10 11 12 13 14 15 16 17 18 19 20
另请注意,此处使用M(:)来确保分位数将M视为向量.您可以采用程序中的所有向量都是列向量的约定,然后大多数函数会自动正确地处理它们.
更新:
现在,对于分位数的非常简短的描述是:它们是取自随机变量的累积分布函数(cdf)的点. (现在你的M被认为是一种cdf,因为它的非减少并且可以归一化为总和1).现在’简单”数据的分位数.5’意味着50%的值低于此分位数’.关于分位数的更多细节可以在例如here中找到.