histcounts
柱状图箱计数
语法
描述
例子
Bin计数和Bin边
将100个随机值分配到箱子中。histcounts
自动选择适当的数据仓宽度来显示数据的底层分布。
X = randn(100,1);[N,edges] = histcounts(X)
N =1×72 17 28 32 16 32
边缘=1×83 -2 -1 0 1 2 3 4
指定箱子数量
将10个数字放入6个等距的箱子中。
X = [2 3 5 7 11 13 17 19 23 29];[N,edges] = histcounts(X,6)
N =1×62 2 2 2 1 1
边缘=1×70 4.9000 9.8000 14.7000 19.6000 24.5000 29.4000
指定Bin边
将1000个随机数字放入箱子中。用一个向量定义bin边,其中第一个元素是第一个bin的左边,最后一个元素是最后一个bin的右边。
X = randn(1000,1);边= [-5 -4 -2 -1 -0.5 0 0.5 1 2 4 5];N = histcounts(X,edges)
N =1×100 24 149 142 195 200 154 111 25 0
归一化Bin计数
将所有小于100的质数分装到箱子里。指定“归一化”
作为“概率”
将箱子计数归一化,这样总和(N)
是1
.也就是说,每个箱数表示观测结果落在该箱中的概率。
X =质数(100);[N,edges] = histcounts(X,“归一化”,“概率”)
N =1×40.4000 0.2800 0.2800 0.0400
边缘=1×50 30 60 90 120
确定箱子位置
将100个-5到5之间的随机整数分配到bin中,并指定“BinMethod”
作为“整数”
使用以整数为中心的单位宽度的容器。为指定第三个输出histcounts
返回表示数据的bin索引的向量。
X = randi([-5,5],100,1);[N,edges,bin] = histcounts(X,“BinMethod”,“整数”);
通过计算该数字的出现次数,找到第三个容器的容器计数3.
在bin索引向量中,箱子
.结果与N (3)
.
Count = nnz(bin==3)
计数= 8
分类箱计数
创建一个表示投票的分类向量。向量中的类别为“是的”
,“不”
,或“决定”
.
A = [0 0 1 1 1 0 0 0 0 0 NaN 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 1 1];C = categorical(A,[1 0 NaN],{“是的”,“不”,“决定”})
C =1 x27分类第1至9列否否是是是否否否第10至16列未决定未决定是否否否是第17至25列否是否是否否否是是26至27列是是
确定归入每个类别的元素的数量。
[N,类别]= histcounts(C)
N =1×311 14 2
类别=1 x3单元格{'是'}{'否'}{'未决定'}
输入参数
X
- - - - - -要在各个箱子中分配的数据
向量|矩阵|多维数组
要在容器中分配的数据,指定为向量、矩阵或多维数组。如果X
不是向量吗histcounts
把它看成一个列向量,X (:)
.
histcounts
忽略所有南
值。同样的,histcounts
忽略了正
而且负
值,除非bin边显式指定正
或负
作为bin边。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|逻辑
|datetime
|持续时间
C
- - - - - -分类数据
分类数组
分类数据,指定为分类数组。histcounts
忽略未定义的分类值。
数据类型:分类
nbins
- - - - - -箱数
正整数
箱数,指定为正整数。如果您没有指定nbins
,然后histcounts
中的值自动计算要使用多少个箱子X
.
例子:[N,edges] = histcounts(X,15)
使用15个垃圾箱。
边缘
- - - - - -本边缘
向量
Bin边,指定为向量。边(1)
是第一个箱子的左边,和边(结束)
是最后一个箱子的右边缘。
对于datetime和duration数据,边缘
必须是单调递增的datetime或duration向量。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|逻辑
|datetime
|持续时间
类别
- - - - - -包括在计数中的类别
所有类别(默认)|字符串向量|特征向量的单元向量|模式
标量|分类向量
包含在count中的类别,指定为字符串向量,字符向量的单元格向量,模式
标量,或分类向量。默认情况下,histcounts
为分类数组中的每个类别使用一个binC
.使用类别
改为指定类别的唯一子集。
例子:h = histcounts(C,["Large","Small"])
只统计类别中的类别数据大
而且小
.
例子:h = histcounts(C,"Y" +通配符模式)
统计名称以字母开头的所有类别中的类别数据Y
.
数据类型:字符串
|细胞
|模式
|分类
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:[N,edges] = histcounts(X,'归一化','概率')
使容器计数正常化N
,以致于总和(N)
是1。
BinLimits
- - - - - -本限制
双元素向量
Bin限制,指定为两个元素向量,[bmin, bmax]
.此选项只收纳中的值X
介于两者之间bmin
而且bmax
包容;也就是说,X(X>=bmin & X<=bmax)
.
此选项不适用于分类数据。
例子:[N,edges] = histcounts(X,'BinLimits',[1,10])
中的值只装入X
介于两者之间1
而且10
包容性。
BinMethod
- - - - - -装箱算法
“汽车”
(默认)|“斯科特。”
|“fd”
|“整数”
|斯特奇斯的
|“√”
|……
分箱算法,指定为本表中的值之一。
价值 |
描述 |
---|---|
|
默认的 |
|
如果数据接近正态分布,Scott规则是最优的,但也适用于大多数其他分布。它使用的bin宽度为 |
|
Freedman-Diaconis规则对数据中的异常值不太敏感,可能更适合于具有重尾分布的数据。它使用的bin宽度为 |
|
整数规则对于整数数据非常有用,因为它为每个整数创建了一个bin。它使用的bin宽度为1,并将bin边放在整数之间的中间位置。为防止意外创建过多的容器,限制65536个容器(216)可以使用此规则创建。如果数据范围大于65536,则使用更宽的容器。 请注意
|
|
斯特奇斯法则是一个简单的法则,因其简单而受欢迎。它选择了箱子的数量 |
|
平方根规则是另一个在其他软件包中广泛使用的简单规则。它选择了箱子的数量 |
histcounts
并不总是使用这些精确的公式来选择箱子的数量。有时,箱子的数量稍作调整,以便箱子的边缘落在“漂亮”的数字上。
对于datetime数据,bin方法可以是以下时间单位之一:
“第二” |
“月” |
“一分钟” |
“季” |
“小时” |
“年” |
“天” |
“十年” |
“周” |
“世纪” |
对于持续时间数据,bin方法可以是以下时间单位之一:
“第二” |
“天” |
“一分钟” |
“年” |
“小时” |
如果你指定BinMethod
然后使用datetime或duration数据histcounts
最多可使用65,536个箱子(或216).如果指定的bin持续时间需要更多的bin,则histcounts
使用与最大箱数对应的较大箱宽。
此选项不适用于分类数据。
例子:[N,edges] = histcounts(X,'BinMethod','integers')
使用以整数为中心的容器。
BinWidth
- - - - - -箱宽
标量
容器的宽度,指定为标量。如果你指定BinWidth
,然后histcounts
最多可使用65,536个箱子(或216).如果指定的容器宽度需要更多的容器,则histcounts
使用与最大箱数对应的较大箱宽。
对于datetime和duration数据,的值“BinWidth”
可以是标量持续时间或日历持续时间。
此选项不适用于分类数据。
例子:[N,edges] = histcounts(X,'BinWidth',5)
使用宽度为5的容器。
BinEdges
- - - - - -箱边
数值向量
容器的边,指定为数值向量。第一个vector元素指定第一个bin的左边缘。最后一个元素指定最后一个bin的右边。如果不指定bin边,则histcounts
自动确定箱子边的位置。
此选项不适用于分类数据。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|逻辑
归一化
- - - - - -归一化类型
“数”
(默认)|“概率”
|“countdensity”
|“pdf”
|“cumcount”
|“提供”
归一化类型,指定为本表中的值之一。对于每个箱子我
:
是bin值。
是容器中元素的数量。
是箱子的宽度。
输入数据中的元素数。如果数据包含。则此值可以大于已打包数据
南
,NaT
,或<定义>
值,或者某些数据位于bin限制之外。
价值 | 本值 | 笔记 |
---|---|---|
“数” (默认) |
|
|
“countdensity” |
|
请注意
|
“cumcount” |
|
|
“概率” |
|
|
“pdf” |
|
请注意
|
“提供” |
|
|
例子:[N,edges] = histcounts(X,'Normalization','pdf')
使用概率密度函数估计对数据进行分类。
NumBins
- - - - - -箱数
正整数
箱数,指定为正整数。如果您没有指定NumBins
,然后histcounts
根据输入数据自动计算要使用多少个箱子。
此选项不适用于分类数据。
输出参数
N
- Bin计数
行向量
Bin计数,作为行向量返回。
边缘
-箱边
向量
Bin边,作为向量返回。边(1)
是第一个箱子的左边,和边(结束)
是最后一个箱子的右边缘。
箱子
- Bin索引
数组
Bin索引,作为相同大小的数组返回X
.中的每个元素箱子
描述中包含相应元素的编号binX
.
值为0
在箱子
表示不属于任何容器的元素(例如南
值)。
类别
-包括在计数中的类别
特征向量的单元向量
计数中包含的类别,作为字符向量的单元格向量返回。类别
中包含类别C
对应于每个计数N
.
提示
的行为
histcounts
是类似的离散化
函数。使用histcounts
求每个箱子中元素的数量。另一方面,使用离散化
找出每个元素属于哪个bin(不计算)。
扩展功能
高大的数组
使用行数超过内存容量的数组进行计算。
使用注意事项和限制:
某些输入选项不受支持。金宝app允许的选项有:
“BinWidth”
“BinLimits”
“归一化”
“BinMethod”
- - -“汽车”
而且“斯科特。”
Bin方法相同。的“fd”
不支持Bin方法。金宝app
的
类别
输入参数不支持模式表达式。金宝app
有关更多信息,请参见高大的数组.
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
代码生成不支持此函数的稀疏矩阵输入。金宝app
如果不提供bin边,则代码生成可能需要可变大小的数组和动态内存分配。
的
类别
输入参数不支持模式表达式。金宝app
GPU代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。
使用注意事项和限制:
代码生成不支持此函数的稀疏矩阵输入。金宝app
如果不提供bin边,则代码生成可能需要可变大小的数组和动态内存分配。
的
类别
输入参数不支持模式表达式。金宝app
线程环境
使用MATLAB®在后台运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.
这个函数完全支持基于线程的环境。金宝app有关更多信息,请参见在线程环境中运行MATLAB函数.
GPU数组
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。
版本历史
在R2014b中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。