zoukankan      html  css  js  c++  java
  • matlab统计函数

    转自http://www.cnblogs.com/djcsch2001/archive/2012/01/31/2333960.html

    中间有一些我个人的补充^_^,其中绝大部分的例子都出自matlab的官方文档,F1进函数同样可以查看

    第4章  概率统计

    本章介绍MATLAB在概率统计中的若干命令和使用格式,这些命令存放于MatlabR12ToolboxStats中。

    4.1  随机数的产生

    4.1.1  二项分布的随机数据的产生

    命令  参数为N,P的二项随机数据

    函数  binornd

    格式  R = binornd(N,P)   %N、P为二项分布的两个参数,返回服从参数为N、P的二项分布的随机数,N、P大小相同。

    R = binornd(N,P,m)   %m指定随机数的个数,与R同维数。

    R = binornd(N,P,m,n)  %m,n分别表示R的行数和列数

    例4-1

    >> R=binornd(10,0.5)

    R =

         3

    >> R=binornd(10,0.5,1,6)

    R =

         8     1     3     7     6     4

    >> R=binornd(10,0.5,[1,10])

    R =

         6     8     4     6     7     5     3     5     6     2

    >> R=binornd(10,0.5,[2,3])

    R =

         7     5     8

         6     5     6

    >>n = 10:10:60; n=begin:by x:end;这里的意思形成是从10开始,每个数值递增10一直到60结束向量

    >>r1 = binornd(n,1./n) 1./n表示n的每个数值都被1除

    r1 =

         2     1     0     1     1     2 结果是对应不同(n,p)产生的随机数

    >>r2 = binornd(n,1./n,[1 6])

    r2 =

         0     1     2     1     3     1

    4.1.2  正态分布的随机数据的产生

    命令  参数为μ、σ的正态分布的随机数据

    函数  normrnd

    格式  R = normrnd(MU,SIGMA)   %返回均值为MU,标准差为SIGMA的正态分布的随机数据,R可以是向量或矩阵。

    R = normrnd(MU,SIGMA,m)  %m指定随机数的个数,与R同维数。

    R = normrnd(MU,SIGMA,m,n)   %m,n分别表示R的行数和列数

    例4-2

    >>n1 = normrnd(1:6,1./(1:6))

    n1 =

        2.1650    2.3134    3.0250    4.0879    4.8607    6.2827

    >>n2 = normrnd(0,1,[1 5])

    n2 =

        0.0591    1.7971    0.2641    0.8717   -1.4462

    >>n3 = normrnd([1 2 3;4 5 6],0.1,2,3)   %mu为均值矩阵

    n3 =

        0.9299    1.9361    2.9640

        4.1246    5.0577    5.9864

    >> R=normrnd(10,0.5,[2,3])   %mu为10,sigma为0.5的2行3列个正态随机数

    R =

        9.7837   10.0627    9.4268

        9.1672   10.1438   10.5955

    4.1.3  常见分布的随机数产生

    常见分布的随机数的使用格式与上面相同

    表4-1  随机数产生函数表

    函数名

    调用形式

    注      释

    Unifrnd

    unifrnd ( A,B,m,n)

    [A,B]上均匀分布(连续) 随机数

    Unidrnd

    unidrnd(N,m,n)

    均匀分布(离散)随机数

    Exprnd

    exprnd(Lambda,m,n)

    参数为Lambda的指数分布随机数

    Normrnd

    normrnd(MU,SIGMA,m,n)

    参数为MU,SIGMA的正态分布随机数

    chi2rnd

    chi2rnd(N,m,n)

    自由度为N的卡方分布随机数

    Trnd

    trnd(N,m,n)

    自由度为N的t分布随机数

    Frnd

    frnd(N1, N2,m,n)

    第一自由度为N1,第二自由度为N2的F分布随机数

    gamrnd

    gamrnd(A, B,m,n)

    参数为A, B的分布随机数

    betarnd

    betarnd(A, B,m,n)

    参数为A, B的分布随机数

    lognrnd

    lognrnd(MU, SIGMA,m,n)

    参数为MU, SIGMA的对数正态分布随机数

    nbinrnd

    nbinrnd(R, P,m,n)

    参数为R,P的负二项式分布随机数

    ncfrnd

    ncfrnd(N1, N2, delta,m,n)

    参数为N1,N2,delta的非中心F分布随机数

    nctrnd

    nctrnd(N, delta,m,n)

    参数为N,delta的非中心t分布随机数

    ncx2rnd

    ncx2rnd(N, delta,m,n)

    参数为N,delta的非中心卡方分布随机数

    raylrnd

    raylrnd(B,m,n)

    参数为B的瑞利分布随机数

    weibrnd

    weibrnd(A, B,m,n)

    参数为A, B的韦伯分布随机数

    binornd

    binornd(N,P,m,n)

    参数为N, p的二项分布随机数

    geornd

    geornd(P,m,n)

    参数为 p的几何分布随机数

    hygernd

    hygernd(M,K,N,m,n)

    参数为 M,K,N的超几何分布随机数

    Poissrnd

    poissrnd(Lambda,m,n)

    参数为Lambda的泊松分布随机数

    4.1.4  通用函数求各分布的随机数据

    命令  求指定分布的随机数

    函数  random

    格式  y = random('name',A1,A2,A3,m,n)   %name的取值见表4-2;A1,A2,A3为分布的参数;m,n指定随机数的行和列

    例4-3  产生12(3行4列)个均值为2,标准差为0.3的正态分布随机数

    >> y=random('norm',2,0.3,3,4)

    y =

        2.3567    2.0524    1.8235    2.0342

        1.9887    1.9440    2.6550    2.3200

        2.0982    2.2177    1.9591    2.0178

    4.2  随机变量的概率密度计算

    4.2.1  通用函数计算概率密度函数值

    命令  通用函数计算概率密度函数值

    函数  pdf

    格式  Y=pdf(name,K,A)

    Y=pdf(name,K,A,B)

    Y=pdf(name,K,A,B,C)

    说明  返回在X=K处、参数为A、B、C的概率密度值,对于不同的分布,参数个数是不同;name为分布函数名,其取值如表4-2。

    表4-2  常见分布函数表

    name的取值

    函数说明

    'beta'

    'Beta'

    Beta分布

    'bino'

    'Binomial'

    二项分布

    'chi2'

    'Chisquare'

    卡方分布

    'exp'

    'Exponential'

    指数分布

    'f'

    'F'

    F分布

    'gam'

    'Gamma'

    GAMMA分布

    'geo'

    'Geometric'

    几何分布

    'hyge'

    'Hypergeometric'

    超几何分布

    'logn'

    'Lognormal'

    对数正态分布

    'nbin'

    'Negative Binomial'

    负二项式分布

    'ncf'

    'Noncentral F'

    非中心F分布

    'nct'

    'Noncentral t'

    非中心t分布

    'ncx2'

    'Noncentral Chi-square'

    非中心卡方分布

    'norm'

    'Normal'

    正态分布

    'poiss'

    'Poisson'

    泊松分布

    'rayl'

    'Rayleigh'

    瑞利分布

    't'

    'T'

    T分布

    'unif'

    'Uniform'

    均匀分布

    'unid'

    'Discrete Uniform'

    离散均匀分布

    'weib'

    'Weibull'

    Weibull分布

    例如二项分布:设一次试验,事件A发生的概率为p,那么,在n次独立重复试验中,事件A恰好发生K次的概率P_K为:P_K=P{X=K}=pdf('bino',K,n,p)

    例4-4  计算正态分布N(0,1)的随机变量X在点0.6578的密度函数值。

    解:>> pdf('norm',0.6578,0,1)

    ans =

        0.3213

    例4-5  自由度为8的卡方分布,在点2.18处的密度函数值。

    解:>> pdf('chi2',2.18,8)

    ans =

        0.0363

    4.2.2  专用函数计算概率密度函数值

    命令  二项分布的概率值

    函数  binopdf

    格式  binopdf (k, n, p)   %等同于, p — 每次试验事件A发生的概率;K—事件A发生K次;n—试验总次数

    命令  泊松分布的概率值

    函数  poisspdf

    格式  poisspdf(k, Lambda)   %等同于

    命令  正态分布的概率值

    函数  normpdf(K,mu,sigma)   %计算参数为μ=mu,σ=sigma的正态分布密度函数在K处的值

    专用函数计算概率密度函数列表如表4-3。

    表4-3  专用函数计算概率密度函数表

    函数名

    调用形式

    注         释

    Unifpdf

    unifpdf (x, a, b)

    [a,b]上均匀分布(连续)概率密度在X=x处的函数值

    unidpdf

    Unidpdf(x,n)

    均匀分布(离散)概率密度函数值

    Exppdf

    exppdf(x, Lambda)

    参数为Lambda的指数分布概率密度函数值

    normpdf

    normpdf(x, mu, sigma)

    参数为mu,sigma的正态分布概率密度函数值

    chi2pdf

    chi2pdf(x, n)

    自由度为n的卡方分布概率密度函数值

    Tpdf

    tpdf(x, n)

    自由度为n的t分布概率密度函数值

    Fpdf

    fpdf(x, n1, n2)

    第一自由度为n1,第二自由度为n2的F分布概率密度函数值

    gampdf

    gampdf(x, a, b)

    参数为a, b的分布概率密度函数值

    betapdf

    betapdf(x, a, b)

    参数为a, b的分布概率密度函数值

    lognpdf

    lognpdf(x, mu, sigma)

    参数为mu, sigma的对数正态分布概率密度函数值

    nbinpdf

    nbinpdf(x, R, P)

    参数为R,P的负二项式分布概率密度函数值

    Ncfpdf

    ncfpdf(x, n1, n2, delta)

    参数为n1,n2,delta的非中心F分布概率密度函数值

    Nctpdf

    nctpdf(x, n, delta)

    参数为n,delta的非中心t分布概率密度函数值

    ncx2pdf

    ncx2pdf(x, n, delta)

    参数为n,delta的非中心卡方分布概率密度函数值

    raylpdf

    raylpdf(x, b)

    参数为b的瑞利分布概率密度函数值

    weibpdf

    weibpdf(x, a, b)

    参数为a, b的韦伯分布概率密度函数值

    binopdf

    binopdf(x,n,p)

    参数为n, p的二项分布的概率密度函数值

    geopdf

    geopdf(x,p)

    参数为 p的几何分布的概率密度函数值

    hygepdf

    hygepdf(x,M,K,N)

    参数为 M,K,N的超几何分布的概率密度函数值

    poisspdf

    poisspdf(x,Lambda)

    参数为Lambda的泊松分布的概率密度函数值

    例4-6  绘制卡方分布密度函数在自由度分别为1、5、15的图形

    >> x=0:0.1:30;

    >> y1=chi2pdf(x,1); plot(x,y1,':')

    >> hold on  *表示不输出结果,继续接着输入;

    >> y2=chi2pdf(x,5);plot(x,y2,'+')

    >> y3=chi2pdf(x,15);plot(x,y3,'o')

    >> axis([0,30,0,0.2])    %指定显示的图形区域

    则图形为图4-1。

     

     

    4.2.3  常见分布的密度函数作图

    1.二项分布

    例4-7

    >>x = 0:10;

    >>y = binopdf(x,10,0.5);

    >>plot(x,y,'+')

    2.卡方分布

    例4-8

    >> x = 0:0.2:15;

    >>y = chi2pdf(x,4);

    >>plot(x,y)

     

      

    图4-2

    3.非中心卡方分布

    例4-9

    >>x = (0:0.1:10)';

    >>p1 = ncx2pdf(x,4,2);

    >>p = chi2pdf(x,4);

    >>plot(x,p,'--',x,p1,'-')

    4.指数分布

    例4-10

    >>x = 0:0.1:10;

    >>y = exppdf(x,2);

    >>plot(x,y)

     

                

    图4-3

     

    5.F分布

    例4-11

    >>x = 0:0.01:10;

    >>y = fpdf(x,5,3);

    >>plot(x,y)

    6.非中心F分布

    例4-12

    >>x = (0.01:0.1:10.01)';

    >>p1 = ncfpdf(x,5,20,10);

    >>p  = fpdf(x,5,20);

    >>plot(x,p,'--',x,p1,'-')

     

              

    图4-4

    7.Γ分布

    例4-13

    >>x = gaminv((0.005:0.01:0.995),100,10);

    >>y = gampdf(x,100,10);

    >>y1 = normpdf(x,1000,100);

    >>plot(x,y,'-',x,y1,'-.')

    8.对数正态分布

    例4-14

    >>x = (10:1000:125010)';

    >>y = lognpdf(x,log(20000),1.0);

    >>plot(x,y)

    >>set(gca,'xtick',[0 30000 60000 90000 120000])

    >>set(gca,'xticklabel',str2mat('0','$30,000','$60,000',…

                                 '$90,000','$120,000'))

      

       

    图4-5

     

    9.负二项分布

    例4-15

    >>x = (0:10);

    >>y = nbinpdf(x,3,0.5);

    >>plot(x,y,'+')

    10.正态分布

    例4-16

    >> x=-3:0.2:3;

    >> y=normpdf(x,0,1);

    >> plot(x,y)

          

    图4-6

     

    11.泊松分布

    例4-17

    >>x = 0:15;

    >>y = poisspdf(x,5);

    >>plot(x,y,'+')

    12.瑞利分布

    例4-18

    >>x = [0:0.01:2];

    >>p = raylpdf(x,0.5);

    >>plot(x,p)

     

          

    图4-7

     

    13.T分布

    例4-19

    >>x = -5:0.1:5;

    >>y = tpdf(x,5);

    >>z = normpdf(x,0,1);

    >>plot(x,y,'-',x,z,'-.')

    14.威布尔分布

    例4-20

    >> t=0:0.1:3;

    >> y=weibpdf(t,2,2);

    >> plot(y)

     

         

    图4-8

     

    4.3  随机变量的累积概率值(分布函数值)

    4.3.1  通用函数计算累积概率值

    命令  通用函数cdf用来计算随机变量的概率之和(累积概率值)

    函数  cdf

    格式  

         cdf('name',K,A)

         cdf('name',K,A,B)

         cdf('name',K,A,B,C)

     

    说明  返回以name为分布、随机变量X≤K的概率之和的累积概率值,name的取值见表4-1 常见分布函数表

    例4-21  求标准正态分布随机变量X落在区间(-∞,0.4)内的概率(该值就是概率统计教材中的附表:标准正态数值表)。

    解:

    >> cdf('norm',0.4,0,1)

    ans =

        0.6554

    例4-22  求自由度为16的卡方分布随机变量落在[0,6.91]内的概率

    >> cdf('chi2',6.91,16)

    ans =

        0.0250

    4.3.2  专用函数计算累积概率值(随机变量的概率之和)

    命令  二项分布的累积概率值

    函数  binocdf

    格式  binocdf (k, n, p)   %n为试验总次数,p为每次试验事件A发生的概率,k为n次试验中事件A发生的次数,该命令返回n次试验中事件A恰好发生k次的概率。

    命令  正态分布的累积概率值

    函数  normcdf

    格式  normcdf()   %返回F(x)=的值,mu、sigma为正态分布的两个参数

    例4-23  设X~N(3, 22)

    (1)求

    (2)确定c,使得

    解(1) p1=

            p2=

    p3=

    p4=

    则有:

    >>p1=normcdf(5,3,2)-normcdf(2,3,2)

    p1 =

        0.5328

    >>p2=normcdf(10,3,2)-normcdf(-4,3,2)

    p2 =

        0.9995

    >>p3=1-normcdf(2,3,2)-normcdf(-2,3,2)

    p3 =

        0.6853

    >>p4=1-normcdf(3,3,2)

    p4 =

        0.5000

    专用函数计算累积概率值函数列表如表4-4。

    表4-4  专用函数的累积概率值函数表

    函数名

    调用形式

    注           释

    unifcdf

    unifcdf (x, a, b)

    [a,b]上均匀分布(连续)累积分布函数值 F(x)=P{X≤x}

    unidcdf

    unidcdf(x,n)

    均匀分布(离散)累积分布函数值 F(x)=P{X≤x} 

    expcdf

    expcdf(x, Lambda)

    参数为Lambda的指数分布累积分布函数值 F(x)=P{X≤x}

    normcdf

    normcdf(x, mu, sigma)

    参数为mu,sigma的正态分布累积分布函数值 F(x)=P{X≤x}

    chi2cdf

    chi2cdf(x, n)

    自由度为n的卡方分布累积分布函数值 F(x)=P{X≤x}

    tcdf

    tcdf(x, n)

    自由度为n的t分布累积分布函数值 F(x)=P{X≤x}

    fcdf

    fcdf(x, n1, n2)

    第一自由度为n1,第二自由度为n2的F分布累积分布函数值

    gamcdf

    gamcdf(x, a, b)

    参数为a, b的分布累积分布函数值 F(x)=P{X≤x}

    betacdf

    betacdf(x, a, b)

    参数为a, b的分布累积分布函数值 F(x)=P{X≤x}

    logncdf

    logncdf(x, mu, sigma)

    参数为mu, sigma的对数正态分布累积分布函数值 

    nbincdf

    nbincdf(x, R, P)

    参数为R,P的负二项式分布概累积分布函数值 F(x)=P{X≤x}

    ncfcdf

    ncfcdf(x, n1, n2, delta)

    参数为n1,n2,delta的非中心F分布累积分布函数值 

    nctcdf

    nctcdf(x, n, delta)

    参数为n,delta的非中心t分布累积分布函数值 F(x)=P{X≤x}

    ncx2cdf

    ncx2cdf(x, n, delta)

    参数为n,delta的非中心卡方分布累积分布函数值

    raylcdf

    raylcdf(x, b)

    参数为b的瑞利分布累积分布函数值 F(x)=P{X≤x}

    weibcdf

    weibcdf(x, a, b)

    参数为a, b的韦伯分布累积分布函数值 F(x)=P{X≤x}

    binocdf

    binocdf(x,n,p)

    参数为n, p的二项分布的累积分布函数值 F(x)=P{X≤x}

    geocdf

    geocdf(x,p)

    参数为 p的几何分布的累积分布函数值 F(x)=P{X≤x}

    hygecdf

    hygecdf(x,M,K,N)

    参数为 M,K,N的超几何分布的累积分布函数值 

    poisscdf

    poisscdf(x,Lambda)

    参数为Lambda的泊松分布的累积分布函数值 F(x)=P{X≤x}

    说明  累积概率函数就是分布函数F(x)=P{X≤x}在x处的值。

    4.4  随机变量的逆累积分布函数

    MATLAB中的逆累积分布函数是已知,求x。

    逆累积分布函数值的计算有两种方法

    4.4.1  通用函数计算逆累积分布函数值

    命令  icdf  计算逆累积分布函数

    格式  icdf('name',P,a1,a2,a3)

    说明  返回分布为name,参数为,累积概率值为P的临界值,这里name与前面表4.1相同。

    如果,则

    例4-24  在标准正态分布表中,若已知=0.975,求x

    解:>> x=icdf('norm',0.975,0,1)

    x =

        1.9600

    例4-25  在分布表中,若自由度为10,=0.975,求临界值Lambda。

    解:因为表中给出的值满足,而逆累积分布函数icdf求满足的临界值。所以,这里的取为0.025,即

    >> Lambda=icdf('chi2',0.025,10)

    Lambda =

        3.2470

    例4-26  在假设检验中,求临界值问题:

    已知:,查自由度为10的双边界检验t分布临界值

    >>lambda=icdf('t',0.025,10)

    lambda =

           -2.2281

    4.4.2  专用函数-inv计算逆累积分布函数

    命令  正态分布逆累积分布函数

    函数  norminv

    格式  X=norminv(p,mu,sigma)   %p为累积概率值,mu为均值,sigma为标准差,X为临界值,满足:p=P{X≤x}。

    例4-27  设,确定c使得。

    解:由得,=0.5,所以

    >>X=norminv(0.5, 3, 2)

    X=

       3

    关于常用临界值函数可查下表4-5。

    表4-5  常用临界值函数表

    函数名

    调用形式

    注         释

    unifinv

    x=unifinv (p, a, b)

    均匀分布(连续)逆累积分布函数(P=P{X≤x},求x)

    unidinv

    x=unidinv (p,n)

    均匀分布(离散)逆累积分布函数,x为临界值

    expinv

    x=expinv (p, Lambda)

    指数分布逆累积分布函数

    norminv

    x=Norminv(x,mu,sigma)

    正态分布逆累积分布函数

    chi2inv

    x=chi2inv (x, n)

    卡方分布逆累积分布函数

    tinv

    x=tinv (x, n)

    t分布累积分布函数

    finv

    x=finv (x, n1, n2)

    F分布逆累积分布函数

    gaminv

    x=gaminv (x, a, b)

    分布逆累积分布函数

    betainv

    x=betainv (x, a, b)

    分布逆累积分布函数

    logninv

    x=logninv (x, mu, sigma)

    对数正态分布逆累积分布函数 

    nbininv

    x=nbininv (x, R, P)

    负二项式分布逆累积分布函数

    ncfinv

    x=ncfinv (x, n1, n2, delta)

    非中心F分布逆累积分布函数 

    nctinv

    x=nctinv (x, n, delta)

    非中心t分布逆累积分布函数

    ncx2inv

    x=ncx2inv (x, n, delta)

    非中心卡方分布逆累积分布函数

    raylinv

    x=raylinv (x, b)

    瑞利分布逆累积分布函数

    weibinv

    x=weibinv (x, a, b)

    韦伯分布逆累积分布函数

    binoinv

    x=binoinv (x,n,p)

    二项分布的逆累积分布函数

    geoinv

    x=geoinv (x,p)

    几何分布的逆累积分布函数

    hygeinv

    x=hygeinv (x,M,K,N)

    超几何分布的逆累积分布函数 

    poissinv

    x=poissinv (x,Lambda)

    泊松分布的逆累积分布函数

    例4-28  公共汽车门的高度是按成年男子与车门顶碰头的机会不超过1%设计的。设男子身高X(单位:cm)服从正态分布N(175,36),求车门的最低高度。

    解:设h为车门高度,X为身高

    求满足条件的h,即,所以

    >>h=norminv(0.99, 175, 6)

    h =

       188.9581

    例4-29  卡方分布的逆累积分布函数的应用

    在MATLAB的编辑器下建立M文件如下:

    n=5; a=0.9;   %n为自由度,a为置信水平或累积概率

    x_a=chi2inv(a,n);   %x_a 为临界值

    x=0:0.1:15; yd_c=chi2pdf(x,n);   %计算的概率密度函数值,供绘图用

    plot(x,yd_c,'b'), hold on   %绘密度函数图形

    xxf=0:0.1:x_a; yyf=chi2pdf(xxf,n);   %计算[0,x_a]上的密度函数值,供填色用

    fill([xxf,x_a], [yyf,0], 'g')   %填色,其中:点(x_a, 0)使得填色区域封闭

    text(x_a*1.01,0.01, num2str(x_a))   %标注临界值点

    text(10,0.10, ['fontsize{16}X~{chi}^2(4)'])

       %图中标注

    text(1.5,0.05, 'fontsize{22}alpha=0.9' )   %图中标注

    结果显示如图4-9。

     

  • 相关阅读:
    Mykings僵尸网络更新基础设施,大量使用PowerShell脚本进行“无文件”攻击挖矿
    CrowdStrike《无文件攻击白皮书》——写得非常好
    CrowdStrike 在 MITRE ATT&CK 评估的所有 20 个步骤中实现了 100% 的检测覆盖率——利用 Carbanak 和 FIN7(CARBON SPIDER)的两个case做的评估,不一定全面
    如何检测Windows中的横向渗透攻击——还是EDR能力为主啊
    威胁检测及威胁狩猎的工具、资源大合集
    phpmyadmin 导出数据表
    SpringBoot项目的 log4j漏洞解决—JeecgBoot
    Springbootactuator的常用endpoint的使用说明
    SpringBoot重点详解使用Actuator进行健康监控
    git log 常用方法
  • 原文地址:https://www.cnblogs.com/yican/p/3851918.html
Copyright © 2011-2022 走看看