资源描述:
《Matlab学习系列17. 数值计算—概率篇》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、17.数值计算—概率篇一、计算组合数、排列数——factorial(n)或prod(1:n)——nchoosek(n,k)——factorial(n)/factorial(n-k)二、生成随机数1.rand(m,n)——生成m×n的服从[0,1]上均匀分布的随机数;用a+(b-a).*rand(m,n)生成m×n的服从[a,b]上均匀分布的随机数。2.二项分布与正态分布随机数binornd(N,P,m,n)——生成m×n的服从二项分布B(N,P)的随机数;normrnd(MU,SIGMA,m,n)——生成m×n的服从正态分布N(MU,SIG
2、MA2)的随机数;3.通用格式:分布缩写+rnd(分布参数,m,n)或random(‘分布名或缩写’,分布参数,m,n)可以用来生成m×n该分布的随机数。各种分布名见下图:表1一维随机变量概率分布名称表分布缩写、分布名称函数说明'beta'或'Beta'Beta分布'bino'或'Binomial'二项分布'chi2'或'Chisquare'卡方分布'exp'或'Exponential'指数分布'f'或'F'F分布'gam'或'Gamma'GAMMA分布'geo'或'Geometric'几何分布'hyge'或'Hypergeometric'
3、超几何分布'logn'或'Lognormal'对数正态分布'nbin'或'NegativeBinomial'负二项式分布'ncf'或'NoncentralF'非中心F分布'nct'或'Noncentralt'非中心t分布'ncx2'或'NoncentralChi-square'非中心卡方分布'norm'或'Normal'正态分布'poiss'或'Poisson'泊松分布'rayl'或'Rayleigh'瑞利分布't'或'T'T分布'unif'或'Uniform'均匀分布'unid'或'DiscreteUniform'离散均匀分布'weib'
4、或'Weibull'威布尔分布4.使用randsample和randsrc函数生成指定离散分布随机数X=randsample(N,k,replace,w)N相当于[1:N],也可以是具有确定值的向量;k表示生成k个随机数;replace=’true’表示可重复,或’false’表示不可重复(默认);w是权重向量。X=randsrc(m,n,[x;p])生成m×n的随机矩阵,服从取值为向量x,对应概率为向量p的离散分布。例1设离散型随机变量X服从如下分布:X-2-1012P0.050.20.50.20.05生成服从3×5的该分布的随机数。代码
5、:xvalue=[-2-1012];xp=[0.050.20.50.20.05];%调用randsample函数生成100个服从指定离散分布的随机数x=randsample(xvalue,15,true,xp);reshape(x,[35])%调用randsrc函数生成10*10的服从指定离散分布的随机数矩阵y=randsrc(3,5,[xvalue;xp])运行结果:ans=00100000-1-111001y=-1-111-1-10020-10-1005.已知概率密度函数,生成服从该分布的随机数例2设随机变量X的概率密度函数为(抛物线分
6、布):调用crnd函数(来自《MATLAB统计分析与应用40个案例分析》作者:谢中华),生成3×5个服从该分布的随机数。代码:pdffun='6*x*(1-x)';%密度函数表达式x=crnd(pdffun,[01],3,5)运行结果:x=0.31600.68660.27240.28160.12680.26810.84390.19480.79990.53830.73770.20400.49320.19480.69096.生成多元分布的随机数mrnd(N,P,m)——多项分布,P为概率向量;mvnrnd(mu,sigma,m)——多元正态分布
7、,mu,sigma为n元向量;mvtrnd(C,df,m)——多元t分布;wishrnd(sigma,df,m)——Wishart分布;iwishrnd(sigma,df,m)——逆Wishart分布;例3利用mvnrnd函数生成3组的二元正态分布随机数,其中分布的参数为代码:mu=[1020];sigma=[13;316];xy=mvnrnd(mu,sigma,3)运行结果:xy=11.833625.73859.034717.80269.603019.5821三、随机变量的概率密度函数及其图像概率密度函数,描述随机变量X在点x附近取值的可
8、能性。1.通用格式:pdf(‘分布名或缩写’,x,分布参数)——返回该分布在X=x处的概率密度值;例如,Pk=pdf('bino',3,10,0.4)2.专用函数分布名缩写+pd