Если ваш средний диапазон равен [-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(:)
используется здесь, чтобы гарантировать, что quantile
обрабатывает M
как вектор.Вы можете принять соглашение, что все векторы в ваших программах являются векторами столбцов, тогда большинство функций автоматически обрабатывает их правильно.
Обновление:
Теперь, для очень короткого описанияквантили таковы: это точки, взятые из интегральной функции распределения (cdf
) случайной величины.(Теперь ваш M
считается своего рода cdf
, поскольку он не уменьшается и может быть нормализован для суммирования до 1).Теперь «просто« квантиль .5 ваших данных »означает, что 50% значений ниже, чем этот квантиль».Более подробную информацию о квантилях можно найти, например, здесь .