Main Content

histc

(不推荐)直方图 bin 计数

不推荐使用 histc。请改用 histcounts

有关详细信息(包括有关更新代码的建议),请参阅替换不建议使用的 hist 和 histc 实例

说明

bincounts = histc(x,binranges) 计算 x 中位于各指定 bin 范围内的值的数量。输入 binranges 决定各 bin 的端点。输出 bincounts 包含 x 在各 bin 中的元素数量。

  • 如果 x 是一个向量,则 histc 将以直方图中 bin 计数的向量形式返回 bincounts

  • 如果 x 是一个矩阵,则 histc 可沿 x 的每列进行运算,并以每列的直方图 bin 计数的矩阵形式返回 bincounts

要绘制直方图,请使用 bar(binranges,bincounts,'histc')

示例

bincounts = histc(x,binranges,dim) 沿维度 dim 运算。

[bincounts,ind] = histc(___) 返回 ind,一个与 x 大小相同的数组,该数组表示在 x 中排序的每一项的直方图数量。将该语法用于之前的任何输入参量组合。

示例

示例

全部折叠

初始化随机数生成器以使 randn 的输出可重复。

rng(0,'twister')

定义 x 为 100 个正态分布的随机数。将直方图范围定义为介于 -4 与 4 之间。确定在各指定 bin 范围内的 x 的值的数量。返回每个 bincounts bin 中的元素数量。

x = randn(100,1);
binranges = -4:4;
[bincounts] = histc(x,binranges)
bincounts = 9×1

     0
     2
    17
    28
    32
    16
     3
     2
     0

要绘制直方图,请使用 bar 命令。

figure
bar(binranges,bincounts,'histc')

Figure contains an axes object. The axes object contains an object of type patch.

定义 ages 作为年龄的向量。将 ages 排序为 0 和 75 之间不同范围的 bin。

ages = [3,12,24,15,5,74,23,54,31,23,64,75];
binranges = [0,10,25,50,75];

[bincounts,ind] = histc(ages,binranges)
bincounts = 1×5

     2     5     1     3     1

ind = 1×12

     1     2     2     2     1     4     2     4     3     2     4     5

bincounts 包含各 bin 中的值数量。ind 表示 bin 数量。

输入参数

全部折叠

需要排序的值,指定为向量或矩阵。bin 计数不包括 x 中的 NaN 值或不在指定 bin 范围内的值。如果 x 包含复数值,则 histc 忽略虚部和只使用实部。

数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

bin 范围,指定为单调非降值的向量或沿各连续列排列的单调非降值的矩阵。binranges 的值决定每个 bin 的左右端点。如果 binranges 包含复数值,则 histc 忽略虚部和只使用实部。

如果 binranges 是一个矩阵,则 histc 通过使用沿各连续列排列的值来决定 bin 的范围。每个 bin 包括左端点,但不包括右端点。最后的 bin 由等于 binranges 中最后一个值的标量值所组成。

例如,如果 binranges 等于向量 [0,5,10,13],则 histc 可创建四个 bin。第一个直方图包括大于或等于 0 并且严格小于 5 的值。第二个直方图包括大于或等于 5 并小于 10 的值。最后的 bin 包含标量值 13。

数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

进行运算的维度,指定为标量。

输出参量

全部折叠

每个 bin 中的元素数,以向量或矩阵形式返回。bincounts 中最后的条目是等于 binranges 中最后条目的 x 中的值的数量。

bin 索引数,作为与 x 相同大小的向量或矩阵返回。

提示

  • 如果 x 中的值位于指定 bin 范围之外,则 histc 不包含 bin 计数中的这些值。以 -infinf 作为 binranges 向量的起点和终点,以确保 x 中的所有值都包括在 bin 计数中。

扩展功能

版本历史记录

在 R2006a 之前推出

另请参阅

| | | |