Matlab之统计一维数组直方图 bin 计数函数histcounts

您所在的位置:网站首页 matlab二维数组间隔取值 Matlab之统计一维数组直方图 bin 计数函数histcounts

Matlab之统计一维数组直方图 bin 计数函数histcounts

2024-06-08 06:34| 来源: 网络整理| 查看: 265

一、语法 [N,edges] = histcounts(X) [N,edges] = histcounts(X,nbins) [N,edges] = histcounts(X,edges)

解释:

1.1 [N,edges] = histcounts(X)

将 X 的值划分为多个 bin,并返回每个 bin 中的计数以及 bin 边界。histcounts 函数使用自动分 bin 算法,返回均匀宽度的 bin,这些 bin 可涵盖 X 中的元素范围并显示基本分布的形状。

1.2 [N,edges] = histcounts(X,nbins)

使用标量 nbins 指定的 bin 数量。

1.3 [N,edges] = histcounts(X,edges)

将 X 划分为由向量 edges 来指定 bin 边界的 bin。如果 edges(k) ≤ X(i) < edges(k+1),值 X(i) 位于第 k 个 bin 中。最后一个 bin 也包含 bin 的右边界,这样如果 edges(end-1) ≤ X(i) ≤ edges(end),它包含 X(i)。

二、示例 2.1 bin 计数和 bin 边界

将 100 个随机值分布到多个 bin 内。histcounts 自动选择合适的 bin 宽度以显示数据的基本分布。

X = randn(100,1); [N,edges] = histcounts(X)

 2.2 指定 bin 数

将 10 个随机数分布到 6 个等间距 bin 内。

X = [2 3 5 7 11 13 17 19 23 29]; [N,edges] = histcounts(X,6)

 2.3 指定 bin 边界

将 1,000 个随机数分布到多个 bin 内。通过向量定义 bin 边界,其中第一个元素是第一个 bin 的左边界,而最后一个元素是最后一个 bin 的右边界。

X = randn(1000,1); edges = [-5 -4 -2 -1 -0.5 0 0.5 1 2 4 5]; N = histcounts(X,edges)

 2.4 归一化的 bin 计数

将小于 100 的所有质数分布到多个 bin 内。将 'Normalization' 指定为 'probability' 以对 bin 计数进行归一化,从而 sum(N) 为 1。即,每个 bin 计数代表观测值属于该 bin 的可能性。

X = primes(100); [N,edges] = histcounts(X, 'Normalization', 'probability')

2.5 确定 bin 放置

将介于 -5 和 5 之间的 100 个随机整数分布到多个 bin 内,并将 'BinMethod' 指定 'integers' 以使用以整数为中心的单位宽度 bin。指定 histcounts 的第三个输出以返回代表数据 bin 索引的向量。

X = randi([-5,5],100,1); [N,edges,bin] = histcounts(X,'BinMethod','integers');

通过计算数字 3 在 bin 索引向量 bin 中的出现次数求第三个 bin 的 bin 计数。结果与 N(3) 相同。

count = nnz(bin==3)

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3