主要内容

histcounts2.

双变量直方图箱数计数

描述

例子

[N,xedges.,是的] = histcounts2(十、 Y)分区值XY进入二维箱,并返回每个维度的箱子边缘。这histcounts2.函数使用自动装箱算法,该算法返回选定的统一装箱,以覆盖XY并揭示了分布的潜在形状。

例子

[N,xedges.,是的] = histcounts2(十、 Y,nbins.)指定每个维度使用的箱数。

例子

[N,xedges.,是的] = histcounts2(十、 Y,xedges.,是的)分割XY进入垃圾箱与箱边缘指定xedges.是的.

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)]落入最后一行的th bin,如果Xedges(结束-1)≤.x(k)≤.Xedges(结束)yedges(i)≤.Y(k)<yedges(i + 1).

例子

[N,xedges.,是的] = histcounts2(___,名称、值)使用一个或多个指定的其他选项名称、值使用以前语法中的任何输入参数对参数。例如,您可以指定'binwidth'以及一个两元素向量,用于调整每个维度中箱子的宽度。

例子

[N,xedges.,是的,宾克斯,平淡的] = histcounts2(___)还返回索引数组宾克斯平淡的,使用以前的任何语法。宾克斯平淡的数组的大小是否与XY其元素是中相应元素的bin索引XY. 中的元素数(I,J)垃圾箱等于nnz(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 1 1 4 6 3 11 1 0 0 1 2 0 0 0 0 1 0 1 0
塞吉斯=1×8.-3 -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,2,2,1,2,3];y=[5638912751];nbins=[34][N、 Xedges,Yedges]=histcounts2(x,y,nbins)
N=3×41 0 2 1 1 1 1 1 1 0 0 1
塞吉斯=1×40.6000 1.4000 2.2000 3.0000
yedges =1×50 2.3000 4.6000 6.9000 9.2000

将1,000对随机数分为垃圾箱。使用两个向量定义BIN边缘:每个向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×100 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 5 5 3 5 1 2 0 0 0 0 2 19 23 29 25 26 20 5 0 0 10 3 36 51 59 71 54 46 10 00 7 43 46 79 64 60 46 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

将1,000对随机数分为垃圾箱。指定规范化作为“概率”使箱子归一化,这样总和(n(:))1..也就是说,每个箱数代表观察到在该箱内的概率。

X = RANDN(1000,1);Y = Randn(1000,1);[n,xedges,yedges] = histcounts2(x,y,6,'正常化',“概率”)
N=6×60 0 0.0020 0.0020 0 0 0 0 0.0110 0.0320 0.0260 0.0070 0.0010 0.00260 0.110 0.1750 0.0430 0.0060 0 0.0 0.0.0.0.0.0.0 0.0.030 0.0.0370 0.0 0.0040 0.0300 0.0100 0.0010 0 0.0100
塞吉斯=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之间的随机整数对分配到容器中,并指定Binmethod.作为'整数'使用以整数为中心的单位宽度容器。指定五个输出histcounts2.返回代表数据的箱的载体。

x = randi([ -  10,10],1000,1);Y = RANDI([ -  10,10],1000,1);[n,xedges,yedges,binx,biny] = histcounts2(x,y,'binmethod','整数');

确定哪个箱子值(x(3),y(3))跌进。

[x(3),y(3)]
ans=1×2-8 10.
bin = [binx(3)biny(3)]
bin =1×23 21

输入参数

全部崩溃

分布在箱中的数据,指定为矢量,矩阵或多维数组的单独参数。XY必须具有相同的大小。

相应的元素XY指定xY2-D数据点的坐标,[X(k),Y(k)].数据类型XY可以不同。

histcounts2.漠视一切价值观。相似地,histcounts2.忽视INF.-Inf除非BIN边缘明确指定的值INF.或者-Inf作为一个箱子的边缘。

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|符合逻辑的

每个维度中的箱数,指定为正整数的正标量整数或两个元素向量。如果您未指定nbins.那么histcounts2.根据中的值自动计算要使用的箱子数量XY:

  • 如果nbins.那是一个标量histcounts2.使用每个维度中的许多垃圾箱。

  • 如果nbins.那么,这是一个向量nbins(1)指定存储库中的存储箱数x-dimension和nbins(2)指定存储库中的存储箱数Y-尺寸。

例子:[n,xedges,yedges] = histcounts2(x,y,[15 20])每天使用15个垃圾箱x- 在上限和20个垃圾箱Y-尺寸。

bin边缘x-维度,指定为向量。Xedges(1)是第一个垃圾箱的第一边x- 努力和Xedges(结束)是最后一个箱子的外缘。

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|符合逻辑的

bin边缘Y-维度,指定为向量。yedges(1)是第一个垃圾箱的第一边Y- 努力和yedges(结束)是最后一个箱子的外缘。

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|符合逻辑的

名称-值对参数

指定可选的逗号分隔的字符对名称、值论点。姓名是参数名和价值是相应的价值。姓名必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:name1,value1,...,namen,valuen.

例子:[n,xedges,yedges] = histcounts2(x,y,'归一化','概率')标准化中的存储箱计数N,以致总和(n)是1。

Binning算法,指定为此表中的值之一。

价值 描述
“自动”

默认值“自动”该算法选择一个面元宽度来覆盖数据范围并揭示底层分布的形状。

“斯科特”

斯科特的规则是最佳的,如果数据接近是共同正常分布的。此规则也适用于大多数其他分布。它使用了一个箱的大小[3.5 * std(x(:))* numel(x)^( - 1/4),3.5 * std(y(:))* numel(y)^( - 1/4)].

'FD'

Freedman-DiaConis规则对数据中的异常值不太敏感,并且可能更适合具有重型分布的数据。它使用了一个箱的大小[2*IQR(X(:)*numel(X)^(-1/4),2*IQR(Y(:)*numel(Y)^(-1/4)], 在哪里IQR是四分位范围。

'整数'

整数规则对整数数据很有用,因为它会在成对的整数上创建符合子。它为每个维度使用1的1个宽度,并将箱边的半区中的中途分开。

为了避免意外创建过多的存储箱,可以使用此规则创建1024个存储箱的限制(2.10.)。如果维度的数据范围大于1024,则整数规则使用更宽的频率。

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

例子:[n,xedges,yedges] = histcounts2(x,y,'binmethod','整数')使用以每对整数为中心的二维容器。

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

如果您指定百宽那么histcounts2.可以使用最多1024个垃圾箱(2.10.)沿着每个维度。如果指定的料仓宽度需要更多的料仓,则histcounts2.使用与最大存储箱数相对应的较大存储箱宽度。

例子:[n,xedges,yedges] = histcounts2(x,y,'binwidth',[5 10])使用大小相同的垃圾箱5.在里面x-尺寸和尺寸10.在里面Y-尺寸。

垃圾箱限制x-维度,指定为两元素向量,[xbmin,xbmax]. 该向量表示该区域中的第一个和最后一个箱子边x-尺寸。

此选项仅包含在bin限制范围内的bin数据,x> = xbmin&x <= xbmax.

垃圾箱限制Y-维度,指定为两元素向量,[YBMIN,YBMAX]. 该向量表示该区域中的第一个和最后一个箱子边Y-尺寸。

此选项仅包含在bin限制范围内的bin数据,Y> =ybmin&Y<=ybmax.

规范化类型,指定为此表中的一个值。每个箱子:

  • v 是bin值。

  • C 是垃圾箱中的元素数。

  • A. = W x W Y 是每个垃圾箱的区域,计算使用的xYbin宽度。

  • N 是输入数据中的元素数。如果数据包含,则此值可以大于装箱数据值,或者如果某些数据超出bin限制。

价值 仓位值 笔记
'数数'(默认)

v = C

  • 观察的次数或频率。

  • 箱子值的总和小于或等于努梅尔(X)努梅尔(y). 总数少于努梅尔(X)只有在箱中不包含一些输入数据时。

'校长'

v = C A.

  • 由箱区域缩小的计数或频率。

  • BIN卷的总和(n值*箱区域)小于或等于努梅尔(X)努梅尔(Y).

'cumcount'

v = σ. J = 1. C J

  • 累积计数。每个料位值是每个料位和两个料位中所有先前料位的累计观测数xY方面。

  • N(结束,结束)小于或等于努梅尔(X)努梅尔(Y).

“概率”

v = C N

  • 相对概率。

  • 总和(n(:))小于或等于1..

“pdf”

v = C N A.

  • 概率密度函数估计。

  • BIN卷的总和(n值*箱区域)小于或等于1..

'CDF'

v = σ. J = 1. C J N

  • 累积密度函数估计。

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

例子:[n,xedges,yedges] = histcounts2(x,y,'归一化','pdf')使用概率密度函数估计来禁止数据XY.

输出参数

全部崩溃

垃圾箱数,返回为数字数组。

中不同编号箱子的箱子包含方案N,以及它们相对于x-axis和Y- 是,是

例如,(1,1)bin包括落在每个维度中的第一边缘的值,右下方的最后一个箱子包括落在其任何边缘的值。

bin边缘x-dimension,作为向量返回。Xedges(1)是第一个宾馆x-dimension和Xedges(结束)是最后一个箱子的边缘。

bin边缘Y-dimension,作为向量返回。yedges(1)是第一个宾馆Y-dimension和yedges(结束)是最后一个箱子的边缘。

Bin索引x-dimension,返回与尺寸相同的数字数组X.相应的元素宾克斯平淡的描述编号的bin包含相应的值XY.价值0在里面宾克斯或者平淡的指示不属于任何存储箱的元素(例如价值)。

例如,宾克斯(1)二进制(1)描述该值的存储箱位置[X(1),Y(1)].

Bin索引Y-dimension,返回与尺寸相同的数字数组Y.相应的元素宾克斯平淡的描述编号的bin包含相应的值XY.价值0在里面宾克斯或者平淡的指示不属于任何存储箱的元素(例如价值)。

例如,宾克斯(1)二进制(1)描述该值的存储箱位置[X(1),Y(1)].

扩展能力

在R2015B中介绍