我想知道是否有任何內置函數或簡單方法繪製2d array
元素的直方圖。Matlab中2D矩陣元素的直方圖
例如,如果A=rand(100,1)
,然後A
是1D array
和hist(A)
可以做直方圖。
但是,如果A=rand(100,100)
和我想對A
的元素進行直方圖,就像將A
中的每個元素視爲1D array
上的元素一樣。有沒有簡單的方法來做到這一點?
我想知道是否有任何內置函數或簡單方法繪製2d array
元素的直方圖。Matlab中2D矩陣元素的直方圖
例如,如果A=rand(100,1)
,然後A
是1D array
和hist(A)
可以做直方圖。
但是,如果A=rand(100,100)
和我想對A
的元素進行直方圖,就像將A
中的每個元素視爲1D array
上的元素一樣。有沒有簡單的方法來做到這一點?
此命令會做你想要什麼:
hist(reshape(A, prod(size(A)), 1))
它的作用是通過與一列,等於數的行數重塑成一個矩陣創建矢量出矩陣A的A的元素:
prod(size(A)) = number_of_columns(A) * number_of_rows(A)
還是短方式:
hist(A(:))
這需要的每一個元素並且因此也產生矢量。
'A(:)'作爲喬納斯的回答也一樣長重塑命令。 – abcd 2011-04-06 15:09:57