Matlab 中二维矩阵元素的直方图
我想知道是否有任何内置函数或简单的方法来绘制二维数组元素的直方图。
例如,如果 A=rand(100,1)
,则 A
是一个 1D 数组
,并且 hist(A)< /code> 可以做直方图。
但是,如果 A=rand(100,100)
,并且我想对 A
的元素制作直方图,就像处理 A
中的每个元素一样code> 作为一维数组
上的元素。有没有简单的方法可以做到这一点?
I am wondering if there is any build in function or an easy way to plot a histogram of elements of a 2d array
.
For example, if A=rand(100,1)
, then A
is an 1D array
, and hist(A)
can do the histogram.
However, what if A=rand(100,100)
, and I would like to make a histogram on elements of A
, just like treating each element in A
as an element on a 1D array
. Is there a easy way to do so?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您只需将
A
重塑为向量,然后就可以像往常一样使用hist
:You just have to reshape
A
into a vector, then you can usehist
as usual:该命令将执行您想要的操作:
它的作用是通过将矩阵 A 重塑为一列和行数等于 A 元素数量的矩阵来创建一个向量:
或者简单的方法:
这需要A 的每个元素按顺序排列,因此也生成一个向量。
This command will do what you want:
What it does is create a vector out of the matrix A by reshaping it into a matrix with one column and a number of rows equal to the number of elements of A:
Or the short way:
This takes every element of A in sequence and thus also generates a vector.