主要内容

histcounts2

二元直方图bin计数

描述

例子

NXedgesYedges= histcounts2(X, YX而且Y并返回每个维度的容器计数以及容器边。的histcounts2函数使用自动装箱算法,该算法返回选定的覆盖中值范围的统一装箱X而且Y并揭示分布的基本形状。

例子

NXedgesYedges= histcounts2(X, Ynbins指定在每个维度中使用的箱的数量。

例子

NXedgesYedges= histcounts2(X, YXedgesYedges分区X而且Y的bin边指定的binXedges而且Yedges

N (i, j)计算值[X (k), Y (k)]如果Xedges(我)X (k)<Xedges (i + 1)而且Yedges (j)Y (k)<Yedges (j + 1).每个维度中的最后一个箱子还包括最后(外部)边缘。例如,[X (k), Y (k)]掉进最后一行的bin如果Xedges (end-1)X (k)Xedges(结束)而且Yedges(我)Y (k)<Yedges (i + 1)

例子

NXedgesYedges= histcounts2(___名称,值使用一个或多个指定的其他选项名称,值使用以前语法中的任何输入参数对参数。例如,您可以指定“BinWidth”和一个两元向量来调整每个维度的箱子的宽度。

例子

NXedgesYedgesbinXbinY= histcounts2(___还返回索引数组binX而且binY,使用前面的任何语法。binX而且binY数组的大小是否相同X而且Y哪些元素是对应元素的bin索引X而且Y.元素的个数(i, j)Th bin等于(binX==i & binY==j),等于N (i, j)如果归一化“数”

例子

全部折叠

将100对随机数放入箱子中。histcounts2自动选择适当的数据仓宽度来显示数据的底层分布。

X = randn(100,1);Y = randn(100,1);[N,Xedges,Yedges] = histcounts2(x,y)
N =7×60 0 0 2 0 0 1 2 10 4 0 0 1 4 9 9 5 0 1 4 10 11 5 11 4 6 3 11 0 0 1 2 0 0 0 0 0 0 10 10
Xedges =1×83 -2 -1 0 1 2 3 4
Yedges =1×7-3 -2 -1 0 1 2 3

将10对数字放入12个箱子中。在x维度中指定3个箱子,在y维度中指定4个箱子。

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×41 0 2 1 1 1 1 1 1 1 0 0 1
Xedges =1×40.6000 1.4000 2.2000 3.0000
Yedges =1×50 2.3000 4.6000 6.9000 9.2000

将1000对随机数放入箱子中。用两个向量定义bin边:x维和y维各一个。每个向量的第一个元素指定第一个bin的第一个边,最后一个元素是最后一个bin的最后一条边。

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×100 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 8 5 3 2 2 2 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

将1000对随机数放入箱子中。指定归一化作为“概率”将箱子计数归一化总和(N (:))1.也就是说,每个箱数表示观测结果落在该箱中的概率。

X = randn(1000,1);Y = randn(1000,1);[N,Xedges,Yedges] = histcounts2(x,y,6,“归一化”“概率”
N =6×600 0.0020 0.0020 00 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

将1000个-10到10之间的随机整数对分配到bins中,并指定BinMethod作为“整数”使用以整数为中心的单位宽度的容器。指定五个输出histcounts2返回表示数据的bin位置的向量。

X = randi([-10,10],1000,1);Y = randi([-10,10],1000,1);[N,Xedges,Yedges,binX,binY] = histcounts2(x,y,“BinMethod”“整数”);

确定该值是哪个bin(x (3), (3))落入。

[x (3), (3))
ans =1×28 10
bin = [binX(3) binY(3)]
本=1×23 21

输入参数

全部折叠

要在容器中分配的数据,指定为向量、矩阵或多维数组的单独参数。X而且Y必须有相同的尺寸。

中对应的元素X而且Y指定x而且y二维数据点的坐标,[X (k), Y (k)].的数据类型X而且Y可以是不同的。

histcounts2忽略所有值。同样的,histcounts2忽略了而且值,除非bin边显式指定作为bin边。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

每个维度中的箱数,指定为正标量整数或正整数的两元素向量。如果您没有指定nbins,然后histcounts2中的值自动计算要使用多少个箱子X而且Y

  • 如果nbins是标量吗histcounts2在每个维度中使用相同数量的箱子。

  • 如果nbins是向量吗nbins (1)属性中的垃圾箱数量x尺寸和nbins (2)属性中的垃圾箱数量y维度。

例子:[N,Xedges,Yedges] = histcounts2(X,Y,[15 20])使用15个垃圾箱x-dimension和20个箱子在y维度。

料仓向内倾斜x-dimension,指定为一个向量。Xedges (1)第一个箱子的第一个边是x维度,Xedges(结束)是最后一个箱子的外缘。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

料仓向内倾斜y-dimension,指定为一个向量。Yedges (1)第一个箱子的第一个边是y维度,Yedges(结束)是最后一个箱子的外缘。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:[N,Xedges,Yedges] = histcounts2(X,Y,'归一化','概率')使容器计数正常化N,以致于总和(N)是1。

分箱算法,指定为本表中的值之一。

价值 描述
“汽车”

默认的“汽车”算法选择一个仓宽来覆盖数据范围,并揭示底层分布的形状。

“斯科特。”

如果数据接近联合正态分布,斯科特规则是最优的。这个规则也适用于大多数其他发行版。它使用的容器大小为[3.5 *性病(X(:)) *元素个数(X) ^(1/4), 3.5 *性病(Y(:)) *元素个数(Y) ^ (1/4)

“fd”

Freedman-Diaconis规则对数据中的异常值不太敏感,可能更适合于具有重尾分布的数据。它使用的容器大小为[2 *差(X(:)) *元素个数(X) ^(1/4), 2 *差(Y(:)) *元素个数(Y) ^ (1/4),在那里位差是四分位范围。

“整数”

整数规则对于整数数据非常有用,因为它以整数对为中心创建了箱子。它为每个维度使用1的bin宽度,并将bin边放在整数之间的中间。

为了避免意外地创建过多的容器,可以使用此规则创建1024个容器的限制(210).如果任一维度的数据范围大于1024,则整数规则将使用更宽的bins。

histcounts2并不总是使用这些精确的公式来选择箱子的数量。有时,箱子的数量稍作调整,以便箱子的边缘落在“漂亮”的数字上。

例子:[N,Xedges,Yedges] = histcounts2(X,Y,'BinMethod','integers')使用以每对整数为中心的二维容器。

每个维度中bin的宽度,指定为两个元素的正整数向量,[xWidth yWidth]

如果你指定BinWidth,然后histcounts2最多可使用1024个箱子(210)。如果指定的容器宽度需要更多的容器,则histcounts2使用与最大箱数对应的较大箱宽。

例子:[N,Xedges,Yedges] = histcounts2(X,Y,'BinWidth',[5 10])使用大小相同的垃圾箱5x-尺寸和尺寸10y维度。

Bin限制x-dimension,指定为两个元素的向量,[xbmin, xbmax].对象中的第一个和最后一个bin边x维度。

此选项仅对包含在bin限制内的数据进行装箱,X>=xbmin & X<=xbmax

Bin限制y-dimension,指定为两个元素的向量,[ybmin, ybmax].对象中的第一个和最后一个bin边y维度。

此选项仅对包含在bin限制内的数据进行装箱,Y>=ybmin & Y<=ybmax

归一化类型,指定为本表中的值之一。对于每个箱子

  • v 是bin值。

  • c 是容器中元素的数量。

  • 一个 w x w y 是每个箱子的面积,计算使用x而且y本宽度。

  • N 输入数据中的元素数。如果数据包含。则此值可以大于已打包数据值,或者某些数据位于bin限制之外。

价值 本值 笔记
“数”(默认)

v c

  • 计数或观察频率。

  • bin值的和小于或等于元素个数(X)而且元素个数(y).总和小于元素个数(X)只有当一些输入数据不包含在箱子中时才会这样做。

“countdensity”

v c 一个

  • 计数或频率按面积的bin。

  • 所有bin卷之和(N值* bin面积)小于等于元素个数(X)而且元素个数(Y)

“cumcount”

v j 1 c j

  • 累计计数。每个bin值是在每个bin和之前的所有bin中的累积观测数x而且y维度。

  • N(结束,结束)小于或等于元素个数(X)而且元素个数(Y)

“概率”

v c N

  • 相对概率。

  • 总和(N (:))小于或等于1

“pdf”

v c N 一个

  • 概率密度函数估计。

  • 所有bin卷之和(N值* bin面积)小于等于1

“提供”

v j 1 c j N

  • 累积密度函数估计。

  • N(结束,结束)小于或等于1

例子:[N,Xedges,Yedges] = histcounts2(X,Y,'Normalization','pdf')使用概率密度函数对数据进行分类X而且Y

输出参数

全部折叠

Bin计数,作为数字数组返回。

中不同编号的容器的容器包含方案N,以及它们相对于x设在和y设在,

例如,(1,1)Bin包含位于每个维度的第一个边上的值,而右下角的最后一个Bin包含位于其任何边上的值。

料仓向内倾斜x-dimension,作为一个向量返回。Xedges (1)第一个bin边在x尺寸和Xedges(结束)是最后一条bin边。

料仓向内倾斜y-dimension,作为一个向量返回。Yedges (1)第一个bin边在y尺寸和Yedges(结束)是最后一条bin边。

Bin索引x-dimension,返回一个与X.中对应的元素binX而且binY描述哪个编号的bin中包含相应的值X而且Y.值为0binXbinY指示不属于任何容器的元素(例如值)。

例如,binX (1)而且binY (1)描述值的bin位置[X (1), Y (1)]

Bin索引y-dimension,返回一个与Y.中对应的元素binX而且binY描述哪个编号的bin中包含相应的值X而且Y.值为0binXbinY指示不属于任何容器的元素(例如值)。

例如,binX (1)而且binY (1)描述值的bin位置[X (1), Y (1)]

扩展功能

版本历史

在R2015b中引入