vie*_*iew 4 matlab function distribution matrix
假设我得到了这组数据.排序后,可以如下绘制分布.
M=[-99 -99 -44.5 -7.375 -5.5 -1.666666667 -1.333333333 -1.285714286 0.436363636 2.35 3.3 4.285714286 5.052631579 6.2 7.076923077 7.230769231 7.916666667 9.7 10.66666667 16.16666667 17.4 19.2 19.6 20.75 24.25 34.5 49.5]
Run Code Online (Sandbox Code Playgroud)

我的问题是如何找出中间范围内的那些值并记录指数.使用正态分布还是其他什么?感谢您的帮助!
Jonas'的图片 
假设你的中间范围是[-10 10]那么指数将是:
> find(-10< M & M< 10)
ans =
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Run Code Online (Sandbox Code Playgroud)
请注意,您还可以通过逻辑索引来访问值,例如:
> M(-10< M & M< 10)
ans =
Columns 1 through 15:
-7.37500 -5.50000 -1.66667 -1.33333 and so on ...
Run Code Online (Sandbox Code Playgroud)
为了获得你的中档,只需:
> 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
Run Code Online (Sandbox Code Playgroud)
另请注意,M(:)此处用于确保将quantile对待M视为向量.您可以采用程序中的所有向量都是列向量的约定,然后大多数函数会自动正确地处理它们.
更新:
现在,对于分位数的非常简短的描述是:它们是从cdf随机变量的累积分布函数()中获取的点.(现在你M的假设是一种cdf,因为它不减少,可归一化为1).现在'简单''数据的分位数.5'意味着50%的值低于此分位数'.关于分位数的更多细节可以在这里找到.