1. 程式人生 > >matlab中的常見的統計函式的使用與範例介紹

matlab中的常見的統計函式的使用與範例介紹

  • 在研究語音的時候,由於對語音進行特徵提取時,採用分幀的形式進行處理。比如說,對於語音訊號進行分幀(m幀),並提取n維的MFCC特徵,一般得到的特徵數量為(n*m),當m很大時,往往資料量較大。一般的英文文獻中提到可以將其統計量作為特徵處理,以減少資料的運算量。本人當時弄的時候,由於知道的統計量數量實現是有限,所有好多matlab自帶的統計函式都不知道。*
    1. matlab中對應的統計量的函式
      1.1. 均值(mean):解釋及呼叫形式如下。
      mean(x):其中對輸入的資料x求均值,其中x為矩陣或者為向量。此時若x為向量則求其均值,若x為矩陣,則對其進行按照列進行取均值。mean(x,2)表示對輸入的矩陣x按行取均值。
      例子如下:
      a=[1 2;3 4]
      mean(a)=[2 3];即此時是按照列進行均值的求取。
      mean(a,2)=[1.5;3.5];即此時是按照行進行均值的求取。

    1.2 方差(var):呼叫形式如下。
    var(x,y,z)的三個引數的說明如下:x表示要求方差的矩陣或者向量;y的取值為0或1,0表示以(N-1)歸一化,1表示以N歸一化,即最後計算時的分母的值;第三個引數表示按行還是按列進行求方差,若值為1則表示按列求方差,若為0表示按行求方差。
    例子如下:
    b=[1 2 3;4 5 6];
    var(b,0,1)=[4.5 4.5 4.5];

    1.3 最大值(max),解釋及呼叫形式如下。
    max(x):其中對輸入的資料x求最大值,其中x為矩陣或者為向量。此時若x為向量則求其最大值,若x為矩陣,則對其進行按照列進行取最大值。max(x,2)表示對輸入的矩陣x按行取最大值。
    例子如下:
    c=[1 2;3 4];
    max(c)=[3 4];
    max(c,2)=[2;4];
    1.4 最小值(min),解釋及呼叫形式如下。
    min(x):其中對輸入的資料x求最小值,其中x為矩陣或者為向量。此時若x為向量則求其最小值,若x為矩陣,則對其進行按照列進行取最小值。min(x,2)表示對輸入的矩陣x按行取最小值。
    例子如下:
    d=[1 2;3 4];
    min(d)=[1 2];
    min(d,2)=[1;3];
    1.5 中值(median),解釋及呼叫形式如下。
    median(x):其中對輸入的資料x求中值,其中x為矩陣或者為向量。此時若x為向量則求其中值,若x為矩陣,則對其進行按照列進行取中值。median(x,2)表示對輸入的矩陣x按行取中值。
    例子如下:
    e=[1 2;3 4];
    median(e)=[2 3];
    median(e,2)=[1.5;3.5];
    1.6 四分位數(quantile),解釋及呼叫形式如下。
    quantile(x,y,z)的三個引數的說明如下:x表示要求的矩陣或者向量;y的取值為表示要求的分位數,如四分之一中位數0.25,四分之三中位數0.75等;z的取值為1或者2,若值為1則表示按列求四分位數,若為2表示按行求四分位數。
    例子如下:
    f=[1 2;3 4]
    quantile(f,0.25,1)=[1 2];
    quantile(f,0.25,2)=[1;3];
    1.7 百分位數(prctile),解釋及呼叫形式如下。
    prctile(x,y,z)的三個引數的說明如下:x表示要求的矩陣或者向量;y的取值為表示要求的百分位數(0-100);z的取值為1或者2,若值為1則表示按列求百分位數,若為2表示按行求百分位數。
    例子如下:
    g=[1 2;3 4]
    quantile(g,25,1)=[1 2];
    quantile(g,25,2)=[1;3];
    1.8 峰度(skewness),解釋及呼叫形式如下。
    skewness(x,y,z)的三個引數的說明如下:x表示要求的矩陣或者向
    量;y的取值0或1,預設為1);z的取值為1或者2,若值為1則表示按列求峰度,若為2表示按行求峰度。
    例子如下:
    g=[1 2;3 4]
    skewness(g,[],1)=[0 0];
    skewness(g,[],2)=[0;0];

    …….
    關於matlab中出現的統計函式的介紹,未完待續。

“`