第4章 概率统计
本章介绍MATLAB在概率统计中的若干命令和使用格式,这些命令存放于MatlabR12\Toolbox\Stats中。
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;
>>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为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。