我想知道是否有任何功能构建或简单方法来绘制2d array
元素的直方图。
例如,如果A=rand(100,1)
,则A
为1D array
,而hist(A)
可以执行直方图。
然而,如果A=rand(100,100)
,我想对A
的元素进行直方图,就像将A
中的每个元素视为1D array
上的元素一样}。有一个简单的方法吗?
答案 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的每个元素,因此也生成一个向量。