http://jpkc./gltj/matlabdyy.htm matlab是当前数值计算方面应用地非常广泛的一种计算机软件。该软件具有一下几个特点: (1)该软件语言接近自然语言,极易入门.有其他程序设计语言基础的人士学起来则更为容易: (2)该软件提供了大量的内部函数.这使得其在使用中非常方便.再则,日益庞大的toolbox使得该软件的应用领域越来越广泛: (3)该软件语言以向量、矩阵为着眼点,这使得它特别适宜于数值分析: (4)绘图功能强大。
1. matlab自带的一些常用分布的分布律或概率密度
例一. x~n(0,1),y~n(3,5),求x,y概率密度的图象. x、y的概率密度为
图(1)
help "所查函数名"
2. matlab自带的一些常用分布的分布函数及分布函数的反函数 如果把前面所述的各分布律或概率密度函数名的后缀pdf改为cdf则得到相应分布的分布函数. 图(3)所示为随机变量x~n(0,1)、y~n(3,5)得分布函数.注意命令行中表示分布函数的 normcdf(x,0,1) 、normcdf(x,3,sqrt(5)).
如果把分布函数名的后缀cdf改为inv,便得到了相应分布函数的反函数.这些常用分布的分布函数及其反函数对于实际应用很方便,至少可以免除我们去查分布表的工作. 例二. 计算例一中有关随机变量y的概率 (1). p(y<3.5) (2). p(y<x)=0.91, 求x 解:(1).在命令窗口中键入 normcdf(3.5, 3, sqrt(5)) 在命令行下方立刻会显示出: ans = (2). 在命令窗口中键入 norminv(0.91, 3, sqrt(5)) 在命令行下方立刻会显示出: ans = 显然,各分布函数的反函数使得获取各种分布的上分位数(点)变得极为方便. 3. 服从各种常用分布随机数的产生 实际工作过程中常常需要我们产生各种随机数,而matlab在这一方面为人们提供了很大的方便.事实上,只需将matlab提供的各分布函数的后缀改为rnd即可. 例三.生成一组(10个)服从N(0,1)的随机数. 在命令窗口中键入
在命令行下方立刻会显示出: ans =
normrnd中的第一、二参数分别表示均值及均方差,第三、四参数表示生成的是一行十列的向量.
例四.利用matlab生成的随机数做蒲丰(buffon)投针问题. 解:以x 表示针的中点与最近一条平行线的距离,以 j表示针与此线间的交角.显然 0≤x≤a/2 0≤j≤p 针与平行线相交的充要条件是 x≤lsin(j)/2 因(x,j)在图(4)中下面的矩形中等可能地取点,可见针与平行线相交的概率p为图(4)正弦曲线线段与横轴围成的面积同图(4)中矩形面积的比.经计算得 p=
另一方面得到 如大量得投针实验,利用大数定理知:随着实验次数的增加,针与平行线相交的频率依概率收敛到概率p.那么在上式中以频率代替相应的概率p,则可以获得圆周率p的近似值.下面的程序是用matlab语言编写的计算机模拟投针以计算p的近似值的程序. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear
a=1;
l=0.6;
counter=0;
n=10000;
x=unifrnd(0,a/2,1,n);
fi=unifrnd(0,pi,1,n);
for i=1:n
end
fren=counter/n;
pihat=2*l/(a*fren) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 注:(1).pi是matlab中的常数p
|
|