天天看點

MATLAB機率統計函數(1)第4章  機率統計

本章介紹MATLAB在機率統計中的若幹指令和使用格式,這些指令存放于MatlabR12\Toolbox\Stats中。

指令  參數為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)

     8     1     3     7     6     4

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

     6     8     4     6     7     5     3     5     6     2

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

     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

指令  參數為μ、σ的正态分布的随機資料

函數  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列個正态随機數

    9.7837   10.0627    9.4268

    9.1672   10.1438   10.5955

常見分布的随機數的使用格式與上面相同

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

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的泊松分布随機數

指令  求指定分布的随機數

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

指令  通用函數計算機率密度函數值

函數  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)

    0.0363

指令  二項分布的機率值

函數  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)

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。

MATLAB機率統計函數(1)第4章  機率統計

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

MATLAB機率統計函數(1)第4章  機率統計
MATLAB機率統計函數(1)第4章  機率統計

圖4-3

5.F分布

例4-11

>>x = 0:0.01:10;

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

6.非中心F分布

例4-12

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

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

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

MATLAB機率統計函數(1)第4章  機率統計
MATLAB機率統計函數(1)第4章  機率統計

圖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);

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

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

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

MATLAB機率統計函數(1)第4章  機率統計

圖4-5

9.負二項分布

例4-15

>>x = (0:10);

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

10.正态分布

例4-16

>> x=-3:0.2:3;

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

>> plot(x,y)

MATLAB機率統計函數(1)第4章  機率統計
MATLAB機率統計函數(1)第4章  機率統計

圖4-6

11.泊松分布

例4-17

>>x = 0:15;

>>y = poisspdf(x,5);

12.瑞利分布

例4-18

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

>>p = raylpdf(x,0.5);

>>plot(x,p)

MATLAB機率統計函數(1)第4章  機率統計
MATLAB機率統計函數(1)第4章  機率統計

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

MATLAB機率統計函數(1)第4章  機率統計
MATLAB機率統計函數(1)第4章  機率統計

圖4-8

指令  通用函數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)

    0.6554

例4-22  求自由度為16的卡方分布随機變量落在[0,6.91]内的機率

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

    0.0250

指令  二項分布的累積機率值

函數  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)

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處的值。

MATLAB中的逆累積分布函數是已知,求x。

逆累積分布函數值的計算有兩種方法

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

指令  正态分布逆累積分布函數

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

繼續閱讀