Количество интервалов двумерной гистограммы
[ делит значения в N,Xedges,Yedges]
= histcounts2(X,Y)X и Y в 2D интервалы, и возвращает количество интервалов, а также границы интервала в каждой размерности. histcounts2 функционируйте использует автоматический алгоритм раскладывания, который возвращает универсальные интервалы, выбранные, чтобы покрыть область значений значений в X и Y и покажите базовую форму распределения.
[ разделы N,Xedges,Yedges]
= histcounts2(X,Y,Xedges,Yedges)X и Y в интервалы с границами интервала, заданными Xedges и Yedges.
N(i,j) считает значение [X(k),Y(k)] если Xedges(i) ≤ X(k) <Xedges(i+1) и Yedges(j) ≤ Y(k) <Yedges(j+1). Последние интервалы в каждой размерности также включают последнее (внешнее) ребро. Например, [X(k),Y(k)] попадает в iинтервал th в последней строке, если Xedges(end-1) ≤ X(k) ≤ Xedges(end) и Yedges(i) ≤ Y(k) <Yedges(i+1).
[ дополнительные опции использования заданы одним или несколькими N,Xedges,Yedges]
= histcounts2(___,Name,Value)Name,Value парные аргументы с помощью любого из входных параметров в предыдущих синтаксисах. Например, можно задать 'BinWidth' и двухэлементный вектор, чтобы настроить ширину интервалов в каждой размерности.
[ также возвращает массивы индекса N,Xedges,Yedges,binX,binY]
= histcounts2(___)binX и binY, использование любого из предыдущих синтаксисов. binX и binY массивы одного размера с X и Y чьими элементами являются индексы интервала для соответствующих элементов в X и Y. Число элементов в (i,j)интервал th равен nnz(binX==i & binY==j), который совпадает с N(i,j) если Normalization 'count'.
Распределите 100 пар случайных чисел в интервалы. histcounts2 автоматически выбирает соответствующую ширину интервала, чтобы показать базовое распределение данных.
x = randn(100,1); y = randn(100,1); [N,Xedges,Yedges] = histcounts2(x,y)
N = 7×6
0 0 0 2 0 0
1 2 10 4 0 0
1 4 9 9 5 0
1 4 10 11 5 1
1 4 6 3 1 1
0 0 1 2 0 0
0 0 1 0 1 0
Xedges = 1×8
-3 -2 -1 0 1 2 3 4
Yedges = 1×7
-3 -2 -1 0 1 2 3
Распределите 10 пар чисел в 12 интервалов. Задайте 3 интервала в x-размерности и 4 интервала в y-размерности.
x = [1 1 2 3 2 2 1 1 2 3]; y = [5 6 3 8 9 1 2 7 5 1]; nbins = [3 4]; [N,Xedges,Yedges] = histcounts2(x,y,nbins)
N = 3×4
1 0 2 1
1 1 1 1
1 0 0 1
Xedges = 1×4
0.6000 1.4000 2.2000 3.0000
Yedges = 1×5
0 2.3000 4.6000 6.9000 9.2000
Распределите 1 000 пар случайных чисел в интервалы. Задайте границы интервала с двумя векторами: один каждый для размерностей X и Y. Первый элемент в каждом векторе задает первое ребро первого интервала, и последним элементом является последнее ребро последнего интервала.
x = randn(1000,1); y = randn(1000,1); Xedges = -5:5; Yedges = [-5 -4 -2 -1 -0.5 0 0.5 1 2 4 5]; N = histcounts2(x,y,Xedges,Yedges)
N = 10×10
0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 0 0 0
0 0 5 5 3 5 1 2 0 0
0 2 19 23 29 25 26 20 5 0
0 10 36 51 59 71 54 46 10 0
0 7 43 46 79 64 60 46 9 0
0 3 12 18 21 23 19 9 6 0
0 0 5 3 2 8 2 2 0 0
0 0 0 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0
Распределите 1 000 пар случайных чисел в интервалы. Задайте Normalization как 'probability' нормировать количество интервалов, таким образом что sum(N(:)) 1. Таким образом, каждое количество интервала представляет вероятность, что наблюдение находится в пределах того интервала.
x = randn(1000,1); y = randn(1000,1); [N,Xedges,Yedges] = histcounts2(x,y,6,'Normalization','probability')
N = 6×6
0 0 0.0020 0.0020 0 0
0 0.0110 0.0320 0.0260 0.0070 0.0010
0.0010 0.0260 0.1410 0.1750 0.0430 0.0060
0 0.0360 0.1620 0.1940 0.0370 0.0040
0 0.0040 0.0300 0.0370 0.0100 0.0010
0 0.0030 0.0040 0.0040 0.0010 0
Xedges = 1×7
-4.0000 -2.7000 -1.4000 -0.1000 1.2000 2.5000 3.8000
Yedges = 1×7
-4.0000 -2.7000 -1.4000 -0.1000 1.2000 2.5000 3.8000
Распределите 1 000 случайных целочисленных пар между-10 и 10 в интервалы и задайте BinMethod как 'integers' использовать интервалы модульной ширины, сосредоточенные на целых числах. Задайте пять выходных параметров для histcounts2 возвратить векторы, представляющие размещение интервала данных.
x = randi([-10,10],1000,1); y = randi([-10,10],1000,1); [N,Xedges,Yedges,binX,binY] = histcounts2(x,y,'BinMethod','integers');
Определите который интервал значение (x(3),y(3)) падения в.
[x(3),y(3)]
ans = 1×2
-8 10
bin = [binX(3) binY(3)]
bin = 1×2
3 21
X,Y — Данные, чтобы распределить среди интервалов (в качестве отдельных аргументов)Данные, чтобы распределить среди интервалов в виде отдельных аргументов векторов, матриц или многомерных массивов. X и Y должен иметь тот же размер.
Соответствующие элементы в X и Y задайте x и координаты y точек 2D данных, [X(k),Y(k)]. Типы данных X и Y может отличаться.
histcounts2 игнорирует весь NaN значения. Точно так же histcounts2 игнорирует Inf и -Inf значения, если границы интервала явным образом не задают Inf или -Inf как граница интервала.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
nbins — Количество интервалов в каждой размерностиКоличество интервалов в каждой размерности в виде положительного скалярного целого числа или двухэлементного вектора из положительных целых чисел. Если вы не задаете nbins, затем histcounts2 автоматически вычисляет сколько интервалов, чтобы использовать на основе значений в X и Y:
Если nbins скаляр, затем histcounts2 использование, что много интервалов в каждой размерности.
Если nbins вектор, затем nbins(1) задает количество интервалов в x - размерность и nbins(2) задает количество интервалов в y - размерность.
Пример: [N,Xedges,Yedges] = histcounts2(X,Y,[15 20]) использование 15 интервалов в x- размерность и 20 интервалов в y- размерность.
Xedges — Границы интервала в x - размерностьГраницы интервала в x - размерность в виде вектора. Xedges(1) первое ребро первого интервала в x - размерность и Xedges(end) внешний край последнего интервала.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Yedges — Границы интервала в y - размерностьГраницы интервала в y - размерность в виде вектора. Yedges(1) первое ребро первого интервала в y - размерность и Yedges(end) внешний край последнего интервала.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
[N,Xedges,Yedges] = histcounts2(X,Y,'Normalization','probability') нормирует количество интервалов в N, таким образом, что sum(N) 1.'BinMethod' — Алгоритм раскладывания'auto' (значение по умолчанию) | 'scott' | 'fd' | 'integers'Алгоритм раскладывания в виде одного из значений в этой таблице.
| Значение | Описание |
|---|---|
'auto' |
|
'scott' | Правило Скотта оптимально, если данные близко к тому, чтобы быть совместно нормально распределенным. Это правило подходит для большинства других распределений, также. Это использует размер интервала |
'fd' | Правило Фридмена—Диакониса менее чувствительно к выбросам в данных и может более подойти для данных с распределениями с тяжелым хвостом. Это использует размер интервала |
'integers' | Целочисленное правило полезно с целочисленными данными, когда это создает интервалы, сосредоточенные на парах целых чисел. Это использует ширину интервала 1 для каждой размерности и помещает границы интервала на полпути между целыми числами. Чтобы постараться не случайно создавать слишком много интервалов, можно использовать это правило, чтобы создать предел 1 024 интервалов (210). Если область значений данных для любой размерности больше 1024, то целочисленное правило использует более широкие интервалы вместо этого. |
histcounts2 не всегда выбирает количество интервалов с помощью этих точных формул. Иногда количество интервалов настроено немного так, чтобы границы интервала упали на "хорошие" числа.
Пример: [N,Xedges,Yedges] = histcounts2(X,Y,'BinMethod','integers') использует 2D интервалы, сосредоточенные на каждой паре целых чисел.
'BinWidth' — Ширина интервалов в каждой размерностиШирина интервалов в каждой размерности в виде двухэлементного вектора из положительных целых чисел, [xWidth yWidth].
Если вы задаете BinWidthто histcounts2 может использовать максимум 1 024 интервалов (210) по каждому измерению. Если заданная ширина интервала требует большего количества интервалов, то histcounts2 использует большую ширину интервала, соответствующую максимальному количеству интервалов.
Пример: [N,Xedges,Yedges] = histcounts2(X,Y,'BinWidth',[5 10]) интервалы использования с размером 5 в x- размерность и размер 10 в y- размерность.
'XBinLimits' — Интервал ограничивает в x - размерностьИнтервал ограничивает в x - размерность в виде двухэлементного вектора, [xbmin,xbmax]. Вектор указывает на первые и последние границы интервала в x - размерность.
Эта опция только данные об интервалах, которые находятся в пределах пределов интервала включительно, X>=xbmin & X<=xbmax.
'YBinLimits' — Интервал ограничивает в y - размерностьИнтервал ограничивает в y - размерность в виде двухэлементного вектора, [ybmin,ybmax]. Вектор указывает на первые и последние границы интервала в y - размерность.
Эта опция только данные об интервалах, которые находятся в пределах пределов интервала включительно, Y>=ybmin & Y<=ybmax.
'Normalization' — Тип нормализации'count' (значение по умолчанию) | 'probability' | 'countdensity' | 'pdf' | 'cumcount' | 'cdf'Тип нормализации в виде одного из значений в этой таблице. Для каждого интервала i:
значение интервала.
число элементов в интервале.
область каждого интервала, вычисленное использование x и ширин интервала y.
число элементов во входных данных. Это значение может быть больше сгруппированных данных, если данные содержат NaN значения, или если некоторые данные находятся вне пределов интервала.
| Значение | Значения интервала | Примечания |
|---|---|---|
'count' (значение по умолчанию) |
|
|
'countdensity' |
|
|
'cumcount' |
|
|
'probability' |
|
|
'pdf' |
|
|
'cdf' |
|
|
Пример: [N,Xedges,Yedges] = histcounts2(X,Y,'Normalization','pdf') интервалы данные с помощью функции плотности вероятности оценивают для X и Y.
N bincounts Количество интервалов, возвращенное как числовой массив.
Схема включения интервала различных пронумерованных интервалов в N, а также их относительная ориентация к x - оси и y - ось,

Например, (1,1) интервал включает значения, которые падают на первое ребро в каждой размерности, и последний интервал в правом нижнем включает значения, которые падают на любое из его ребер.
Xedges — Границы интервала в x - размерностьГраницы интервала в x - размерность, возвращенная как вектор. Xedges(1) первая граница интервала в x - размерность и Xedges(end) последняя граница интервала.
Yedges — Границы интервала в y - размерностьГраницы интервала в y - размерность, возвращенная как вектор. Yedges(1) первая граница интервала в y - размерность и Yedges(end) последняя граница интервала.
binX — Индекс интервала в x - размерностьИндекс интервала в x - размерность, возвращенная как числовой массив одного размера с X. Соответствующие элементы в binX и binY опишите, который пронумеровал интервал, содержит соответствующие значения в X и Y. Значение 0 в binX или binY указывает на элемент, который не принадлежит ни одному из интервалов (таких как NaN значение.
Например, binX(1) и binY(1) опишите размещение интервала для значения [X(1),Y(1)].
binY — Индекс интервала в y - размерностьИндекс интервала в y - размерность, возвращенная как числовой массив одного размера с Y. Соответствующие элементы в binX и binY опишите, который пронумеровал интервал, содержит соответствующие значения в X и Y. Значение 0 в binX или binY указывает на элемент, который не принадлежит ни одному из интервалов (таких как NaN значение.
Например, binX(1) и binY(1) опишите размещение интервала для значения [X(1),Y(1)].
Указания и ограничения по применению:
Генерация кода не поддерживает входные параметры разреженной матрицы для этой функции.
Если вы не предоставляете границы интервала, то генерация кода может потребовать массивов переменного размера и динамического выделения памяти.
discretize | fewerbins | histcounts | histogram | histogram2 | morebins
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.