1. 程式人生 > >MATLAB概率統計函式(1)

MATLAB概率統計函式(1)

4章  概率統計

本章介紹MATLAB在概率統計中的若干命令和使用格式,這些命令存放於MatlabR12\Toolbox\Stats中。

4.1  隨機數的產生

4.1.1  二項分佈的隨機資料的產生

命令  引數為NP的二項隨機資料

函式  binornd

格式  R = binornd(N,P)   %N、P為二項分佈的兩個引數,返回服從引數為NP的二項分佈的隨機數,NP大小相同。

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;

>>r1 = binornd(n,1./n)

r1 =

     2     1     0     1     1     2

>>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為10sigma為0.523列個正態隨機數

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)

引數為RP的負二項式分佈隨機數

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-2A1A2A3為分佈的引數;m,n指定隨機數的行和列

4-3  產生1234列)個均值為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,KA)

Y=pdf(name,KAB)

Y=pdf(name,KABC)

說明  返回在X=K處、引數為ABC的概率密度值,對於不同的分佈,引數個數是不同;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',Kn,p)

4-4  計算正態分佈N01)的隨機變數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)

引數為RP的負二項式分佈概率密度函式值

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  繪製卡方分佈密度函式在自由度分別為1515的圖形

>> 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

5F分佈

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為分佈、隨機變數XK的概率之和的累積概率值,name的取值見表4-1 常見分佈函式表

4-21  求標準正態分佈隨機變數X落在區間(-∞,0.4)內的概率(該值就是概率統計教材中的附表:標準正態數值表)。

解:

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

ans =

    0.6554

4-22  求自由度為16的卡方分佈隨機變數落在[06.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~N3, 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)

引數為RP的負二項式分佈概累積分佈函式值 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)服從正態分佈N17536),求車門的最低高度。

解:設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)   %計算[0x_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