http://jpkc.njust.edu.cn/gltj/matlabdyy.htm
matlab是当前数值计算方面应用地非常广泛的一种计算机软件。该软件具有一下几个特点:
(1)该软件语言接近自然语言,极易入门.有其他程序设计语言基础的人士学起来则更为容易:
(2)该软件提供了大量的内部函数.这使得其在使用中非常方便.再则,日益庞大的toolbox使得该软件的应用领域越来越广泛:
(3)该软件语言以向量、矩阵为着眼点,这使得它特别适宜于数值分析:
(4)绘图功能强大。
1.matlab自带的一些常用分布的分布律或概率密度
分布名称 | matlab中的函数名 | 解析表达式 |
正态分布 | normpdf(x,m,s) | |
指数分布 | exppdf(x,m) | |
均匀分布 | unifpdf(x,a,b) | |
gamma分布 | gampdf(x,a,b) | |
t分布 | tpdf(x,a) | |
F分布 | fpdf(x,a,b) | |
weibull分布 | weibpdf(x,a,b) | |
二项分布 | binopdf(k,n,p) | = |
poisson分布 | poisspdf(k,l) | = |
几何分布 | geopdf(k,p) | = |
超几何分布 | hygepdf(k,l,m,n) | = |
例一.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中的第一、二参数分别表示均值及均方差,第三、四参数表示生成的是一行十列的向量.
图(4) |
例四.利用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
联系客服