MATLAB6.0 数学手册
134
第 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 分别
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示 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 的正态分布的
第 4 章 概率统计
135
随机数据,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 通用函数求各分布的随机数据
命令 求指定分布的随机数
MATLAB6.0 数学手册
136
函数 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 章 概率统计
137
例 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,n,Kobin(pdf , p — 每次试验事件 A 发生的概
率;K—事件 A 发生 K 次;n—试验总次数
命令 泊松分布的概率值
函数 poisspdf
格式 poisspdf(k, Lambda) %等同于 )Lamda,K,spois(pdf
命令 正态分布的概率值
函数 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;
MATLAB6.0 数学手册
138
>> 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)
0 2 4 6 8 1 0
0
0 .0 5
0 .1
0 .1 5
0 .2
0 .2 5
0 5 1 0 1 5
0
0 .0 5
0 .1
0 .1 5
0 .2
图 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)
0 2 4 6 8 1 0
0
0 .0 5
0 .1
0 .1 5
0 .2
0 2 4 6 8 1 0
0
0 .1
0 .2
0 .3
0 .4
0 .5
图 4-1
第 4 章 概率统计
139
图 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,'-')
0 2 4 6 8 1 0
0
0 .2
0 .4
0 .6
0 .8
0 2 4 6 8 1 0 1 2
0
0 .2
0 .4
0 .6
0 .8
图 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'))
7 0 0 8 0 0 9 0 0 1 0 0 0 1 1 0 0 1 2 0 0 1 3 0 0
0
1
2
3
4
5
x 1 0
-3
0 $ 3 0 , 0 0 0 $ 6 0 , 0 0 0 $ 9 0 , 0 0 0 $ 1 2 0 , 0 0 0
0
0 . 5
1
1 . 5
2
2 . 5
3
3 . 5
x 1 0
-5
MATLAB6.0 数学手册
140
图 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)
0 2 4 6 8 1 0
0
0 .0 5
0 .1
0 .1 5
0 .2
-3 -2 -1 0 1 2 3
0
0 .1
0 .2
0 .3
0 .4
图 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)
0 5 1 0 1 5
0
0 .0 5
0 .1
0 .1 5
0 .2
0 0 . 5 1 1 . 5 2
0
0 . 5
1
1 . 5
图 4-7
13.T 分布
例 4-19
>>x = -5:0.1:5;
>>y = tpdf(x,5);
>>z = normpdf(x,0,1);
第 4 章 概率统计
141
>>plot(x,y,'-',x,z,'-.')
14.威布尔分布
例 4-20
>> t=0:0.1:3;
>> y=weibpdf(t,2,2);
>> plot(y)
-5 0 5
0
0 .1
0 .2
0 .3
0 .4
0 5 1 0 1 5 2 0 2 5 3 0 3 5
0
0 .5
1
1 .5
图 4-8
4.3 随机变量的累积概率值(分布函数值)
4.3.1 通用函数计算累积概率值
命令 通用函数 cdf 用来计算随机变量 KX 的概率之和(累积概率值)
函数 cdf
格式 )A,K,enam(cdf
)B,A,K,enam(cdf
)C,B,A,K,enam(cdf
说明 返回以 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 专用函数计算累积概率值(随机变量 KX 的概率之和)
命令 二项分布的累积概率值
函数 binocdf
格式 binocdf (k, n, p) %n 为试验总次数,p 为每次试验事件 A 发生的概率,k 为 n
MATLAB6.0 数学手册
142
次试验中事件 A发生的次数,该命令返回 n 次试验中事件 A
恰好发生 k 次的概率。
命令 正态分布的累积概率值
函数 normcdf
格式 normcdf( sigma,mu,x ) %返回 F(x)=
x
dt)t(p 的值,mu、sigma 为正态分布的
两个参数
例 4-23 设 X~N(3, 22)
(1)求 }3X{P},2X{P},10X4{P},5X2{P
(2)确定 c,使得 }cX{P}cX{P
解(1) p1= }52{ XP
p2= }104{ XP
p3= }2{1}2{ XPXP
p4= }3X{P1}3X{P
则有:
>>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}
第 4 章 概率统计
143
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 中的逆累积分布函数是已知 }xX{P)x(F ,求 x。
逆累积分布函数值的计算有两种方法
4.4.1 通用函数计算逆累积分布函数值
命令 icdf 计算逆累积分布函数
格式 )a,a,a,P,enam(icdf 321
说明 返回分布为 name,参数为 321 a,a,a ,累积概率值为 P 的临界值,这里 name 与前
面表 4.1 相同。
如果 )a,a,a,x,enam(cdfP 321 ,则 )a,a,a,P,enam(icdfx 321
例 4-24 在标准正态分布表中,若已知 )x( =0.975,求 x
解:>> x=icdf('norm',0.975,0,1)
x =
1.9600
例 4-25 在 2 分布表中,若自由度为 10, =0.975,求临界值 Lambda。
解:因为表中给出的值满足 }{P 2 ,而逆累积分布函数 icdf 求满足 }{P 2
的临界值 。所以,这里的取为 0.025,即
>> Lambda=icdf('chi2',0.025,10)
Lambda =
3.2470
例 4-26 在假设检验中,求临界值问题:
已知: 05.0 ,查自由度为 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 设 )2,3(N~X 2 ,确定 c 使得 }cX{P}cX{P 。
解:由 }cX{P}cX{P 得, }cX{P}cX{P =0.5,所以
>>X=norminv(0.5, 3, 2)
X=
3
MATLAB6.0 数学手册
144
关于常用临界值函数可查下表 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%
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
的。设男
子身高 X(单位:cm)服从正态分布 N(175,36),求车门的最低高度。
解:设 h 为车门高度,X 为身高
求满足条件 01.0}hX{P 的 h,即 99.0}hX{P ,所以
>>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); %计算 )5(2 的概率密度函数值,供绘图用
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。
图 4-9
第 4 章 概率统计
145
4.5 随机变量的数字特征
4.5.1 平均值、中值
命令 利用 mean 求算术平均值
格式 mean(X) %X 为向量,返回 X 中各元素的平均值
mean(A) %A 为矩阵,返回 A 中各列元素的平均值构成的向量
mean(A,dim) %在给出的维数内的平均值
说明 X 为向量时,算术平均值的数学含义是
n
1i
ix
n
1x ,即样本均值。
例 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
MATLAB6.0 数学手册
146
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 中各列元素的几何平均数构成的向量。
说明 几何平均数的数学含义是 n
1
)x(M
n
1i
i
,其中:样本数据非负,主要用于对数正
态分布。
例 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 中各列元素的调和平均值构成的向量。
说明 调和平均值的数学含义是
n
1i ix
1
nM ,其中:样本数据非 0,主要用于严重偏斜
分布。
例 4-35
>> B=[1 3 4 5]
B =
第 4 章 概率统计
147
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 为矩阵,返回矩阵 Y,Y 按 A 的第 1 列由小到大,以
行方式排序后生成的矩阵。
Y=sortrows(A, col) %按指定列 col 由小到大进行排序
[Y,I]=sortrows(A, col) % Y为排序的结果,I 表示 Y 中第 col列元素在 A 中位置。
说明 若 X 为复数,则通过|X|的大小排序。
例 4-37
MATLAB6.0 数学手册
148
>> 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
第 4 章 概率统计
149
试求样本平均值
解:>>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
求 E (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)=
n
1i
2
i
2 )Xx(
1n
1s ,若X为向量,则返回向量的样本方差。
D=var(A) %A 为矩阵,则 D 为 A 的列向量的样本方差构成的行向量。
D=var(X, 1) %返回向量(矩阵)X 的简单方差(即置前因子为
n
1 的方差)
D=var(X, w) %返回向量(矩阵)X 的以 w 为权重的方差
命令 求标准差
函数 std
格式 std(X) %返回向量(矩阵)X 的样本标准差(置前因子为
1n
1
)即:
n
1i
i Xx
1n
1std
std(X,1) %返回向量(矩阵)X 的标准差(置前因子为
n
1
)
std(X, 0) %与 std (X)相同
MATLAB6.0 数学手册
150
std(X, flag, dim) %返回向量(矩阵)中维数为 dim 的标准差值,其中 flag=0
时,置前因子为
1n
1
;否则置前因子为
n
1 。
例 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 阶魔方阵中第 1、6、8 个元素为 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(默认)表示偏斜不纠正。
说明 偏斜度样本数据关于均值不对称的一个测度,如果偏斜度为负,说明均值左边的
第 4 章 概率统计
151
数据比均值右边的数据更散;如果偏斜度为正,说明均值右边的数据比均值左边的数据更散,
因而正态分布的偏斜度为 0;偏斜度是这样定义的:
3
3)x(E
y
其中:μ 为 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.46