Сгруппировать данные в интервалы или категории
Y = discretize(X,edges)
[Y,E] =
discretize(X,N)
[Y,E] =
discretize(X,dur)
[___] = discretize(___,values)
[___] = discretize(___,'categorical')
[___] = discretize(___,'categorical',displayFormat)
[___] = discretize(___,'categorical',categoryNames)
[___] = discretize(___,'IncludedEdge',side)
возвращает индексы интервалов, которые содержат элементы Y
= discretize(X
,edges
)X
. j
th интервал содержит элемент X(i)
, если edges(j) <= X(i) < edges(j+1)
для 1 <= j < N
, где N
является количеством интервалов и length(edges) = N+1
. Последний интервал содержит оба ребра, таким образом что edges(N) <= X(i) <= edges(N+1)
.
[
, то, где Y
,E
] =
discretize(X
,dur
)X
является datetime или массивом длительности, делит X
на универсальные интервалы отрезка времени dur
. dur
может быть скалярный duration
или calendarDuration
или модуль времени. Например, [Y,E] = discretize(X,'hour')
делит X
на интервалы с универсальной длительностью 1 часа.
[___] = discretize(___,
возвращает соответствующий элемент в values
)values
, а не номере интервала, с помощью любой из предыдущих комбинаций аргументов ввода или вывода. Например, если X(1)
находится в интервале 5, то Y(1)
является values(5)
, а не 5
. values
должен быть вектором с длиной, равной количеству интервалов.
[___] = discretize(___,'categorical')
создает категориальный массив, где каждый интервал является категорией. В большинстве случаев названия категории по умолчанию имеют форму “[A,B)
” (или “[A,B]
” для последнего интервала), где A
и B
являются последовательными ребрами интервала. Если вы задаете dur
как вектор символов, то названия категории по умолчанию могут иметь специальные форматы. Смотрите Y
для списка форматов отображения.
[___] = discretize(___,'categorical',
, для datetime или входных параметров длительности массивов, использует заданный datetime или формат отображения длительности в названиях категории вывода.displayFormat
)
[___] = discretize(___,'categorical',
также называет категории в categoryNames
)Y
с помощью массива ячеек из символьных векторов, categoryNames
. Длина categoryNames
должна быть равна количеству интервалов.
[___] = discretize(___,'IncludedEdge',
, то, где side
)side
является 'left'
или 'right'
, задает, включает ли каждый интервал свое правильное или левое ребро интервала. Например, если side
является 'right'
, то каждый интервал включает правильное ребро интервала, за исключением первого интервала, который включает оба ребра. В этом случае j
th интервал содержит элемент X(i)
, если edges(j) < X(i) <= edges(j+1)
, где 1 < j <= N
и N
являются количеством интервалов. Первый интервал включает левый край, таким образом, что это содержит edges(1) <= X(i) <= edges(2)
. Значением по умолчанию для side
является 'left'
.
Поведение discretize
подобно той из функции histcounts
. Используйте histcounts
, чтобы найти число элементов в каждом интервале. С другой стороны, используйте discretize
, чтобы найти, какой интервал каждый элемент принадлежит (не считая).