资源描述:
《MATLAB在概率论和数理统计中的应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MATLAB在概率论和数理统计中的应用一、引言概率论与数理统计作为现代数学的重要分支,在自然科学、社会科学和工程技术等领域都具有极为广泛的应用。概率论和数理统计是研究随机现象的客观规律并付诸应用的数学学科。用概率论和数理统计的知识来解决实际问题时,大致遵循以下流程图。随着计算机技术的普及和发展,我们可以用计算机语言轻松的完成以上过程中的求解和建立模型过程。可以大大提高准确率和使用者的效率。二、MATLAB软件介绍及其特点1984年美国MathWorks公司推出了MATLAB软件。MATLAB是以矩阵作为数据操作的基本单位的程序设计语言,是主要面对科学计算、数
2、据可视化、系统仿真,以及交互式程序设计的高科技计算环境。为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。MATLAB软件具有以下特点[1]:I,具有强大的数值计算和符号运算功能II,操作界面简单,编程语言自然III,具有先进的数据可视化功能IV,具有强大的开放性和可扩展性总之,MATLAB是工程师和科研者使用最广泛的软件之一。三、MATLAB中关于概率统计的命令和函数MATLAB中的StatisticsToolbox提供了丰富的关于概率统计的命令和函数,用于解决概率论和数理统计中的常见问题。下表将列举常用的概率统计中的命令
3、和函数。表1随机数产生函数表函数名调用形式注释Unifrndunifrnd(A,B,m,n)[A,B]上均匀分布(连续)随机数Exprndexprnd(Lambda,m,n)参数为Lambda的指数分布随机数Normrndnormrnd(MU,SIGMA,m,n)参数为MU,SIGMA的正态分布随机数Chi2rndchi2rnd(N,m,n)自由度为N的卡方分布随机数Trndtrnd(N,m,n)自由度为N的t分布随机数Frndfrnd(N1,N2,m,n)第一自由度为N1,第二自由度为N2的F分布随机数利用上述函数产生一个矩阵的标准正态随机数,MATLAB
4、代码如下:>>R=normrnd(0,1,4,4)R=-0.8095-0.7549-0.2414-0.0301-2.94431.37030.3192-0.16491.4384-1.71150.31290.62770.3252-0.1022-0.86491.0933产生的随机数可以在工作窗口内查看。表2专用函数计算概率密度函数表函数名调用形式注释Unifpdfunifpdf(x,a,b)[a,b]上均匀分布(连续)概率密度在X=x处的函数值Exppdfexppdf(x,Lambda)参数为Lambda的指数分布概率密度函数值Normpdfnormpdf(x,m
5、u,sigma)参数为mu,sigma的正态分布概率密度函数值Chi2pdfchi2pdf(x,n)自由度为n的卡方分布概率密度函数值Tpdftpdf(x,n)自由度为n的t分布概率密度函数值Fpdffpdf(x,n1,n2)第一自由度为n1,第二自由度为n2的F分布概率密度函数值表2常见分布函数的均值和方差函数名调用形式注释unifstat[M,V]=unifstat(a,b)均匀分布(连续)的期望和方差,M为期望,V为方差.expstat[M,V]=expstat(Lambda)指数分布的期望和方差normstat[M,V]=normstat(mu,si
6、gma)正态分布的期望和方差chi2stat[M,V]=tstat(n)卡方分布的期望和方差tstat[M,V]=tstat(n)t分布的期望和方差fstat[M,V]=fstat(n1,n2)F分布的期望和方差若要想求参数为的正态分布的期望和方差,则相应的MATLAB的代码为:>>clear>>a=[12];>>b=[23];>>[mv]=normstat(a,b)m=12v=49在MATLAB的统计工具箱中提供了一个演示程序disttool,可以直观的演示常见分布的分布函数和概率密度函数。在MATLAB的命令窗口中输入disttool后,回车得到如下界面
7、(图—1):图—1通过窗口上方“Distribution”键选择不同的分布类型,通过“Functiontype”键选择“CDF”(分布函数),“PDF”(概率密度函数)。通过窗口下方按键可以调整函数的参数。则通过该窗口可以显示的分布函数和概率密度函数:图—2图—3图—4图—5一、MATLAB在概率论和数理统计中应用举例(一)、简单古典概率模型的实现【问题1】求投掷出现正面的概率我们知道硬币出现正面的概率为0.5。用MATLAB进行仿真时,可以产生一系列的0—1之间的随机数,我们规定当随机数大于1时表示出现正面,统计出正面出现的次数,然后除以总次数即为正面出现
8、的概率。MATLAB代码如下:>>fori=1:10