Matlab中二维矩阵元素的直方图

时间:2011-04-06 14:59:43

标签: matlab histogram

我想知道是否有任何功能构建或简单方法来绘制2d array元素的直方图。

例如,如果A=rand(100,1),则A1D array,而hist(A)可以执行直方图。

然而,如果A=rand(100,100),我想对A的元素进行直方图,就像将A中的每个元素视为1D array上的元素一样}。有一个简单的方法吗?

2 个答案:

答案 0 :(得分:13)

您只需将A重塑为矢量,然后就像往常一样使用hist

hist(A(:))

答案 1 :(得分:2)

此命令将执行您想要的操作:

hist(reshape(A, prod(size(A)), 1))

它的作用是通过将矩阵A重新塑造成一个矩阵来创建一个向量,该矩阵有一列,行数等于A的元素数:

prod(size(A)) = number_of_columns(A) * number_of_rows(A)

或者简短的方法:

hist(A(:))

它依次获取A的每个元素,因此也生成一个向量。