对 hist 的输出感到困惑

confused about the output of hist

我很困惑

[m,n]=hist(y,x)

比如

M = [1, 2, 3;
     4, 5, 6;
     1, 2, 3];

[m,n] =  hist(M,1:3)

这导致

 m = 2     0     0
     0     2     0
     1     1     3

有人可以解释一下 m 是如何计算的吗?

hist 实际上将向量作为输入参数,你写了一个矩阵,所以它只是处理你的输入,就好像它是几个向量输入一样。输出是每个容器的元素数量(在你的例子中 1:3,第二个参数)。

[m,n] =  hist([1,2,3;4,5,6;1,2,3],1:3)

将每一列视为一个输入。您输入 3 个输入(列数)并获得 3 个输出。

[2 0 1]' 

表示,对​​于输入 [1;4;1] 和 bin 1:3 两个元素在 bin 1 中,一个元素在 bin 3.

查看 m 的最后一列,这里所有三个值都在第三个 bin 中,这是有道理的,因为对应的向量是 [3;6;3],并且这些数字中的所有数字都必须进入 bin/container 3.