MATLAB實現頻數直方圖——hist的使用

csdn產品小助手發表於2013-01-20

"hist" is short for "Histogram(直方圖、柱狀圖)"。

1.N = hist(Y)

bins the elements of Y into 10 equally spaced containers and returns the number of elements in each container.  If Y is a matrix, hist works down the columns.

(將向量Y的元素平均分到十個等間隔的容器中,並且返回每個容器的元素個數。如果Y是一個矩陣,hist指令逐列元素操作。Y為向量的情形見例1和2,為矩陣的情形見3.

1.執行指令

>> Y = [1:10];
>> hist(Y)

得到

10個藍色方條,每個方條對應一個容器,其長度代表容器中資料的多少。由圖知,容器中的資料量均為1這個例子不夠典型,見例2.

例2.執行指令

>>  Y = [1, 2, 2, 5, 6, 6, 8, 11];
>> hist(Y)

得到

Y最大為11,最小為1,故而將區間[1,11]均分為10分,分別為[1, 2], (2,3], (3,4], (4,5], (5,6], (6,7], (7,8], (8,9], (9,10], (10,11].

例3.當Y是矩陣的情況。

執行指令:

>>  Y = [1,2.5,2.1;3,3.5,6];
>> hist(Y)

注意,Y為矩陣:

    1.0000    2.5000    2.1000
    3.0000    3.5000    6.0000

Y有三列元素,逐列元素產生對應的直方圖。得到

觀察此圖和矩陣Y,由於Y的元素最大為1,最小為6,故而將區間[1,6]以0.5的間隔劃分為10個等長的子區間作為10個容器去容納資料。圖中有三種顏色的方條:藍色,綠色和紅色,分別對應Y中的第1,2,3列元素。如第一列元素為1和3,故而區間[1,1.5](2.5,3]中有藍色方條。

2.N = hist(Y,M)

where M is a scalar, uses M bins.(M是一個標量,表明使用M個箱子

例1.執行指令

>> Y = [1, 1, 1.3, 2.6, 3, 3.4, 5, 5.9, 6, 6,1, 7, 7,2];

>>  hist(Y, 6)

得到

3.N = hist(Y,X)

where X is a vector, returns the distribution of Y among bins with centers specified by X.(X是向量,以X中元素為區間中心可獲得一系列區間,執行命令可獲得Y在這些區間中的分佈情況。 The first bin includes data between -inf and the first center and the last bin includes data between the last bin and inf. Note: Use HISTC if it is more natural to specify bin edges instead.



相關文章