Количество интервалов двумерной гистограммы
[
делит значения в 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.