理解Matlab的行为

理解Matlab的行为,matlab,histogram,Matlab,Histogram,返回 histcounts(1:100,'BinWidth',50) 为什么它不回来 49 51 相反?使用h=直方图(1:100,'BinWidth',50)对1到100进行组织编程给出: 让我们看看箱子的边缘: 50 50 发件人: 每个箱子包括左边缘,但不包括右边缘, 除了最后一个箱子,它包括两个边缘 这意味着值1到100按以下格式进行历史编程: h.BinEdges ans = 0 50 100 histcount(X)分区X方式与直方图(X

返回

histcounts(1:100,'BinWidth',50)
为什么它不回来

49    51

相反?

使用
h=直方图(1:100,'BinWidth',50)对1到100进行组织编程给出:

让我们看看箱子的边缘:

50    50
发件人:

每个箱子包括左边缘,但不包括右边缘, 除了最后一个箱子,它包括两个边缘

这意味着值1到100按以下格式进行历史编程:

h.BinEdges

ans =

     0    50   100

histcount(X)
分区
X
方式与
直方图(X)
相同。因此,结果是您应该期望的,事实上是非常合理的。

可能是因为箱子位于网格点之间的中心,因此您错过了0和1之间的0.5中心。。。。您可能需要
histcounts(0:99,'BinWidth',50)
Bin 1 => edges: [0 50) => Included values: [1, 2, 3, .., 49]         (n = 49)
Bin 2 => edges: [50 100] => Included values: [50, 51, 52, .., 100]   (n = 51)