zoukankan      html  css  js  c++  java
  • MATLAB概率统计函数(2)

    4.5  随机变量的数字特征

    4.5.1  平均值、中值

    命令  利用mean求算术平均值

    格式  mean(X)       %X为向量,返回X中各元素的平均值

    mean(A)       %A为矩阵,返回A中各列元素的平均值构成的向量

    mean(A,dim)   %在给出的维数内的平均值

    说明  X为向量时,算术平均值的数学含义是,即样本均值。 

    4-30

    >> A=[1 3 4 5;2 3 4 6;1 3 1 5]

    A =

         1     3     4     5

         2     3     4     6

         1     3     1     5

    >> mean(A)

    ans =

        1.3333    3.0000    3.0000    5.3333

    >> mean(A,1)

    ans =

       1.3333    3.0000    3.0000    5.3333

    命令  忽略NaN计算算术平均值

    格式  nanmean(X)   %X为向量,返回X中除NaN外元素的算术平均值。

          nanmean(A)   %A为矩阵,返回A中各列除NaN外元素的算术平均值向量。

    4-31

    >> A=[1 2 3;nan 5 2;3 7 nan]

    A =

         1     2     3

       NaN     5     2

         3     7   NaN

    >> nanmean(A)

    ans =

        2.0000    4.6667    2.5000

    命令  利用median计算中值(中位数)

    格式  median(X)       %X为向量,返回X中各元素的中位数。

    median(A)       %A为矩阵,返回A中各列元素的中位数构成的向量。

    median(A,dim)   %求给出的维数内的中位数

    4-32

    >> A=[1 3 4 5;2 3 4 6;1 3 1 5]

    A =

         1     3     4     5

         2     3     4     6

         1     3     1     5

    >> median(A)

    ans =

         1     3     4     5

    命令  忽略NaN计算中位数

    格式  nanmedian(X)   %X为向量,返回X中除NaN外元素的中位数。

          nanmedian(A)   %A为矩阵,返回A中各列除NaN外元素的中位数向量。

    4-33

    >> A=[1 2 3;nan 5 2;3 7 nan]

    A =

         1     2     3

       NaN     5     2

         3     7   NaN

    >> nanmedian(A)

    ans =

        2.0000    5.0000    2.5000 

    命令  利用geomean计算几何平均数

    格式  M=geomean(X)   %X为向量,返回X中各元素的几何平均数。

          M=geomean(A)   %A为矩阵,返回A中各列元素的几何平均数构成的向量。

    说明  几何平均数的数学含义是,其中:样本数据非负,主要用于对数正态分布。

    4-34

    >> B=[1 3 4 5]

    B =

         1     3     4     5

    >> M=geomean(B)

    M =

        2.7832

    >> A=[1 3 4 5;2 3 4 6;1 3 1 5]

    A =

         1     3     4     5

         2     3     4     6

         1     3     1     5

    >> M=geomean(A)

    M =

        1.2599    3.0000    2.5198    5.3133

    命令  利用harmmean求调和平均值

    格式  M=harmmean(X)   %X为向量,返回X中各元素的调和平均值。

          M=harmmean(A)   %A为矩阵,返回A中各列元素的调和平均值构成的向量。

    说明  调和平均值的数学含义是,其中:样本数据非0,主要用于严重偏斜分布。

    4-35  

    >> B=[1  3  4  5]

    B =

         1     3     4     5

    >> M=harmmean(B)

    M =

        2.2430

    >> A=[1 3 4 5;2 3 4 6;1 3 1 5]

    A =

         1     3     4     5

         2     3     4     6

         1     3     1     5

    >> M=harmmean(A)

    M =

        1.2000    3.0000    2.0000    5.2941

    4.5.2  数据比较

    命令  排序

    格式  Y=sort(X)     %X为向量,返回X按由小到大排序后的向量。

          Y=sort(A)     %A为矩阵,返回A的各列按由小到大排序后的矩阵。

          [Y,I]=sort(A)   % Y为排序的结果,I中元素表示Y中对应元素在A中位置。

    sort(A,dim)    %在给定的维数dim内排序

    说明  若X为复数,则通过|X|排序。

    4-36

    >> A=[1 2 3;4 5 2;3 7 0]

    A =

         1     2     3

         4     5     2

         3     7     0

    >> sort(A)

    ans =

         1     2     0

         3     5     2

         4     7     3

    >> [Y,I]=sort(A)

    Y =

         1     2     0

         3     5     2

         4     7     3

    I =

         1     1     3

         3     2     2

         2     3     1

    命令  按行方式排序

    函数  sortrows

    格式  Y=sortrows(A)        %A为矩阵,返回矩阵YYA的第1列由小到大,以行方式排序后生成的矩阵。

          Y=sortrows(A, col)    %按指定列col由小到大进行排序

          [Y,I]=sortrows(A, col)  % Y为排序的结果,I表示Y中第col列元素在A中位置。

    说明  若X为复数,则通过|X|的大小排序。

    4-37

    >> A=[1 2 3;4 5 2;3 7 0]

    A =

         1     2     3

         4     5     2

         3     7     0

    >> sortrows(A)

    ans =

         1     2     3

         3     7     0

         4     5     2

    >> sortrows(A,1)

    ans =

         1     2     3

         3     7     0

         4     5     2

    >> sortrows(A,3)

    ans =

         3     7     0

         4     5     2

         1     2     3

    >> sortrows(A,[3 2])

    ans =

         3     7     0

         4     5     2

         1     2     3

    >> [Y,I]=sortrows(A,3)

    Y =

         3     7     0

         4     5     2

         1     2     3

    I =

         3

         2

         1

    命令  求最大值与最小值之差

    函数  range

    格式  Y=range(X)  %X为向量,返回X中的最大值与最小值之差。

          Y=range(A)  %A为矩阵,返回A中各列元素的最大值与最小值之差。

    4-38

    >> A=[1 2 3;4 5 2;3 7 0]

    A =

         1     2     3

         4     5     2

         3     7     0

    >> Y=range(A)

    Y =

         3     5     3

    4.5.3  期望

    命令  计算样本均值

    函数  mean

    格式  用法与前面一样

    4-39  随机抽取6个滚珠测得直径如下:(直径:mm)

    14.70  15.21  14.90  14.91  15.32  15.32

    试求样本平均值

    解:>>X=[14.70  15.21  14.90  14.91  15.32  15.32]

    >>mean(X)   %计算样本均值

    则结果如下:

    ans =

        15.0600

    命令  由分布律计算均值

    利用sum函数计算

    4-40  设随机变量X的分布律为:

    X

    -2

    -1

    0

    1

    2

    P

    0.3

    0.1

    0.2

    0.1

    0.3

    (X)  E(X2-1)

    解:在Matlab编辑器中建立M文件如下:

    X=[-2 -1 0 1 2];

    p=[0.3 0.1 0.2 0.1 0.3];

    EX=sum(X.*p)

    Y=X.^2-1

    EY=sum(Y.*p)

    运行后结果如下:

    EX =

         0

    Y =

        3     0    -1     0     3

    EY =

        1.6000

    4.5.4  方差

    命令  求样本方差

    函数  var

    格式  D=var(X)  %var(X)=,若X为向量,则返回向量的样本方差。

          D=var(A)   %A为矩阵,则DA的列向量的样本方差构成的行向量。

    D=var(X, 1)   %返回向量(矩阵)X的简单方差(即置前因子为的方差)

    D=var(X, w)   %返回向量(矩阵)X的以w为权重的方差

    命令  求标准差

    函数  std  

    格式  std(X)    %返回向量(矩阵)X的样本标准差(置前因子为)即:

    std(X,1)    %返回向量(矩阵)X的标准差(置前因子为

    std(X, 0)    %std (X)相同

    std(X, flag, dim)   %返回向量(矩阵)中维数为dim的标准差值,其中flag=0时,置前因子为;否则置前因子为。

    4-41  求下列样本的样本方差和样本标准差,方差和标准差

    14.70  15.21  14.90  15.32  15.32

    解:

    >>X=[14.7 15.21 14.9 14.91 15.32 15.32];

    >>DX=var(X,1)       %方差

      DX =

           0.0559

    >>sigma=std(X,1)     %标准差

    sigma =

         0.2364

    >>DX1=var(X)       %样本方差

    DX1 =

           0.0671

    >>sigma1=std(X)     %样本标准差

      sigma1 =

        0.2590

    命令  忽略NaN的标准差

    函数  nanstd

    格式  y = nanstd(X)   %若X为含有元素NaN的向量,则返回除NaN外的元素的标准差,若X为含元素NaN的矩阵,则返回各列除NaN外的标准差构成的向量。

    4-42

    >> M=magic(3)    %产生3阶魔方阵

    M =

          8     1     6

          3     5     7

          4     9     2

    >> M([1 6 8])=[NaN NaN NaN]    %替换3阶魔方阵中第168个元素为NaN

    M =

        NaN     1     6

          3     5   NaN

          4   NaN     2

    >> y=nanstd(M)    %求忽略NaN的各列向量的标准差

    y =

        0.7071    2.8284    2.8284

    >> X=[1 5];     %忽略NaN的第2列元素

    >> y2=std(X)    %验证第2列忽略NaN元素的标准差

    y2 =

          2.8284

    命令  样本的偏斜度

    函数  skewness

    格式  y = skewness(X)   %X为向量,返回X的元素的偏斜度;X为矩阵,返回X各列元素的偏斜度构成的行向量。

    y = skewness(X,flag)   %flag=0表示偏斜纠正,flag=1(默认)表示偏斜不纠正。

    说明  偏斜度样本数据关于均值不对称的一个测度,如果偏斜度为负,说明均值左边的数据比均值右边的数据更散;如果偏斜度为正,说明均值右边的数据比均值左边的数据更散,因而正态分布的偏斜度为 0;偏斜度是这样定义的:

    其中:μ为x的均值,σ为x的标准差,E(.)为期望值算子

    4-43  

    >> X=randn([5,4])

    X =

        0.2944    0.8580   -0.3999    0.6686

       -1.3362    1.2540    0.6900    1.1908

        0.7143   -1.5937    0.8156   -1.2025

        1.6236   -1.4410    0.7119   -0.0198

       -0.6918    0.5711    1.2902   -0.1567

    >> y=skewness(X)

    y =

       -0.0040   -0.3136   -0.8865   -0.2652

    >> y=skewness(X,0)

    y =

       -0.0059   -0.4674   -1.3216   -0.3954

    4.5.5  常见分布的期望和方差

    命令  均匀分布(连续)的期望和方差

    函数  unifstat

    格式  [M,V] = unifstat(A,B)    %AB为标量时,就是区间上均匀分布的期望和方差,AB也可为向量或矩阵,则MV也是向量或矩阵。

    4-44

    >>a = 1:6; b = 2.*a;

    >>[M,V] = unifstat(a,b)

    M =

        1.5000    3.0000    4.5000    6.0000    7.5000    9.0000

    V =

        0.0833    0.3333    0.7500    1.3333    2.0833    3.0000

    命令  正态分布的期望和方差

    函数  normstat

    格式  [M,V] = normstat(MU,SIGMA)    %MUSIGMA可为标量也可为向量或矩阵,则M=MUV=SIGMA2。

    4-45

    >> n=1:4;

    >> [M,V]=normstat(n'*n,n'*n)

    M =

         1     2     3     4

         2     4     6     8

         3     6     9    12

         4     8    12    16

    V =

         1     4     9    16

         4    16    36    64

         9    36    81   144

        16    64   144   256

    命令  二项分布的均值和方差

    函数  binostat

    格式  [M,V] = binostat(N,P)    %NP为二项分布的两个参数,可为标量也可为向量或矩阵。

    4-46

    >>n = logspace(1,5,5)

    n =

              10         100        1000       10000      100000

    >>[M,V] = binostat(n,1./n)

    M =

         1     1     1     1     1

    V =

        0.9000    0.9900    0.9990    0.9999    1.0000

    >>[m,v] = binostat(n,1/2)

    m =

               5          50         500        5000       50000

    v =

       1.0e+04 *

        0.0003    0.0025    0.0250    0.2500    2.5000

    常见分布的期望和方差见下表4-6

    4-6  常见分布的均值和方差

    函数名

    调用形式

    注  释

    unifstat

    [M,V]=unifstat ( a, b)

    均匀分布(连续)的期望和方差,M为期望,V为方差

    unidstat

    [M,V]=unidstat (n)

    均匀分布(离散)的期望和方差

    expstat

    [M,V]=expstat (p, Lambda)

    指数分布的期望和方差

    normstat

    [M,V]=normstat(mu,sigma)

    正态分布的期望和方差

    chi2stat

    [M,V]=chi2stat (x, n)

    卡方分布的期望和方差

    tstat

    [M,V]=tstat ( n)

    t分布的期望和方差

    fstat

    [M,V]=fstat ( n1, n2)

    F分布的期望和方差

    gamstat

    [M,V]=gamstat ( a, b)

    分布的期望和方差

    betastat

    [M,V]=betastat ( a, b)

    分布的期望和方差

    lognstat

    [M,V]=lognstat ( mu, sigma)

    对数正态分布的期望和方差

    nbinstat

    [M,V]=nbinstat ( R, P)

    负二项式分布的期望和方差

    ncfstat

    [M,V]=ncfstat ( n1, n2, delta)

    非中心F分布的期望和方差

    nctstat

    [M,V]=nctstat ( n, delta)

    非中心t分布的期望和方差

    ncx2stat

    [M,V]=ncx2stat ( n, delta)

    非中心卡方分布的期望和方差

    raylstat

    [M,V]=raylstat ( b)

    瑞利分布的期望和方差

    Weibstat

    [M,V]=weibstat ( a, b)

    韦伯分布的期望和方差

    Binostat

    [M,V]=binostat (n,p)

    二项分布的期望和方差

    Geostat

    [M,V]=geostat (p)

    几何分布的期望和方差

    hygestat

    [M,V]=hygestat (M,K,N)

    超几何分布的期望和方差

    Poisstat

    [M,V]=poisstat (Lambda)

    泊松分布的期望和方差

    4.5.6  协方差与相关系数

    命令  协方差

    函数  cov

    格式  cov(X)    %求向量X的协方差

          cov(A)    %求矩阵A的协方差矩阵,该协方差矩阵的对角线元素是A的各列的方差,即:var(A)=diag(cov(A))。

          cov(X,Y)   %X,Y为等长列向量,等同于cov([X  Y])。

    4-47  

    >> X=[0 -1 1]';Y=[1 2 2]'

    >> C1=cov(X)     %X的协方差

    C1 =

         1

    >> C2=cov(X,Y)     %列向量XY的协方差矩阵,对角线元素为各列向量的方差

    C2 =

        1.0000         0

             0    0.3333

    >> A=[1 2 3;4 0 -1;1 7 3]

    A =

         1     2     3

         4     0    -1

         1     7     3

    >> C1=cov(A)    %求矩阵A的协方差矩阵

    C1 =

        3.0000   -4.5000   -4.0000

       -4.5000   13.0000    6.0000

       -4.0000    6.0000    5.3333

    >> C2=var(A(:,1))    %A的第1列向量的方差

    C2 =

         3

    >> C3=var(A(:,2))     %A的第2列向量的方差

    C3 =

        13

    >> C4=var(A(:,3))

    C4 =

        5.3333

    命令  相关系数

    函数  corrcoef

    格式  corrcoef(X,Y)   %返回列向量X,Y的相关系数,等同于corrcoef([X  Y])。

    corrcoef (A)    %返回矩阵A的列向量的相关系数矩阵

    4-48

    >> A=[1 2 3;4 0 -1;1 3 9]

    A =

         1     2     3

         4     0    -1

         1     3     9

    >> C1=corrcoef(A)    %求矩阵A的相关系数矩阵

    C1 =

        1.0000   -0.9449   -0.8030

       -0.9449    1.0000    0.9538

       -0.8030    0.9538    1.0000

    >> C1=corrcoef(A(:,2),A(:,3))    %A的第2列与第3列列向量的相关系数矩阵

    C1 =

        1.0000    0.9538

        0.9538    1.0000

  • 相关阅读:
    Excel多工作表快速汇总,简单才是硬道理
    Excel中的条件汇总函数,看过这些你就懂
    SUMPRODUCT函数详解
    关于iOS中的文本操作-管理text fields 和 text views
    ios开发之多线程资源争夺
    关于ios中的文本操作-简介
    ios开发小技巧之提示音播放与震动
    ios开发小技巧之摇一摇截屏
    ios开发之网络数据的下载与上传
    ios开发之网络访问的数据类型
  • 原文地址:https://www.cnblogs.com/djcsch2001/p/2339189.html
Copyright © 2011-2022 走看看