随机过程上机实验报告讲解
上机实验报告(精选11篇)
上机实验报告篇1用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.c的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a可读性:有注释。
b交互性:有输入提示。
c结构化程序设计风格:分层缩进、隔行书写。
3.上交时间:12月26日下午1点-6点,工程设计中心三楼教学组。
请注意:过时不候哟!四、实验报告内容0.顺序表的插入。
1.顺序表的删除。
2.带头结点的单链表的\'插入。
3.带头结点的单链表的删除。
注意:1.每个人只需在实验报告中完成上述4个项目中的一个,具体安排为:将自己的序号对4求余,得到的数即为应完成的项目的序号。
例如:序号为85的同学,85%4=1,即在实验报告中应完成顺序表的删除。
2.实验报告中的源代码应是通过编译链接即可运行的。
3.提交到个人空间中的内容应是上机实验中的全部内容。
上机实验报告篇2一、《软件技术基础》上机实验内容1.顺序表的建立、插入、删除。
2.带头结点的单链表的建立(用尾插法)、插入、删除。
二、提交到个人10m硬盘空间的内容及截止时间1.分别建立二个文件夹,取名为顺序表和单链表。
2.在这二个文件夹中,分别存放上述二个实验的相关文件。
每个文件夹中应有三个文件(.c文件、.obj文件和.exe文件)。
3. 截止时间:12月28日(18周周日)晚上关机时为止,届时服务器将关闭。
三、实验报告要求及上交时间(用a4纸打印)1.格式:《计算机软件技术基础》上机实验报告用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.c的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a 可读性:有注释。
b 交互性:有输入提示。
2021年随机过程实验报告
过程试验汇报班级: 通信1004班姓名: 杨靖学号: U13098试验目:了解数产生, 而且利用数来模拟均匀分布、 正态分布、 指数分布、 泊松分布而且计算均值和自相关序列。
试验工具:C++编程模拟试验原理:数产生原理: 经过数学算法产生伪数来, 模拟数产生。
数序列含有循环周期性。
能够证实, 任何产生伪数算法总会进入循环, 这么为了确保随机数序列不产生反复数据, 就要求循环周期足够长。
均匀分布产生原理:利用线性同余法(1)设置y0, 即设置种子(2)yn=kyn-1(mod N), un=yn/N泊松分布产生原理: 从泊松分布分布律可知, 采取前述方法很不适用。
因为: 所以, 采取递推法组成泊松分布: (1)产生均匀分布数u; (2) (3)若u<F, 令X=i, 停止; (4) (5)转向(3)。
正态分布产生原理:标准正态变量分布函数 反函数不存在显式, 所以也不能用逆变法产生。
故采取以下方法:设Ui ~U(0, 1), i=1,2,…,n, 且相互独立, 由中心极限定理可知, 当n 较大时设Ui ~U(0, 1), i=1,2,…,n, 且相互独立, E(Ui)=1/2, D(Ui)=1/12, 当n 较大时有:取n=12, 近似有:也就是说, 只要产生12个伪数u1,u2,…u12, 将它们加起来, 再减去6, 就能近似得到标准正态变量样本值。
{}!i i e p P X i i λλ-===11(1)!1i i i e p p i i λλλ+-+==++0,,;i p e F p λ-===/(1),,1;p p i F F p i i λ=+=+=+()~(0,1)n i i U nE U Z N -=∑~(0,1)ni n U Z N -=∑1216~(0,1)i i Z U N ==-∑指数分布产生原理:(1)产生均匀分布数{ui};(2)计算指数分布数: xi=-ln ui /λ试验代码:(1)数产生/*函数功效, 采取线性同余法, 依据输入种子数产生一个伪数, 假如种子不变,则将能够反复调用产生一个伪序列利用CMyRand类中定义全局变量: S, K, N, Y。
西安交大概率论上机实验报告-西安交通大学概率论实验报告
概率论与数理统计上机实验报告一、实验内容使用MATLAB 软件进行验证性实验,掌握用MATLAB 实现概率统计中的常见计算。
本次实验包括了对二维随机变量,各种分布函数及其图像以及频率直方图的考察。
1、列出常见分布的概率密度及分布函数的命令,并操作。
2、掷硬币150次,其中正面出现的概率为0.5,这150次中正面出现的次数记为X ,(1) 试计算45=X 的概率和45≤X 的概率;(2) 绘制分布函数图形和概率分布律图形。
3、用Matlab 软件生成服从二项分布的随机数,并验证泊松定理。
4、设22221),(y x e y x f +-=π是一个二维随机变量的联合概率密度函数,画出这一函数的联合概率密度图像。
5、来自某个总体的样本观察值如下,计算样本的样本均值、样本方差、画出频率直方图。
A=[16 25 19 20 25 33 24 23 20 24 25 17 15 21 22 26 15 23 2220 14 16 11 14 28 18 13 27 31 25 24 16 19 23 26 17 14 30 21 18 16 18 19 20 22 19 22 18 26 26 13 21 13 11 19 23 18 24 28 13 11 25 15 17 18 22 16 13 12 13 11 09 15 18 21 15 12 17 13 14 12 16 10 08 23 18 11 16 28 13 21 22 12 08 15 21 18 16 16 19 28 19 12 14 19 28 28 28 13 21 28 19 11 15 18 24 18 16 28 19 15 13 22 14 16 24 20 28 18 18 28 14 13 28 29 24 28 14 18 18 18 08 21 16 24 32 16 28 19 15 18 18 10 12 16 26 18 19 33 08 11 18 27 23 11 22 22 13 28 14 22 18 26 18 16 32 27 25 24 17 17 28 33 16 20 28 32 19 23 18 28 15 24 28 29 16 17 19 18] 6. 利用Matlab 软件模拟高尔顿板钉试验。
随机过程实验报告
一、实验目的1. 理解随机过程的基本概念和性质。
2. 掌握随机过程的基本运算和性质。
3. 通过实验验证随机过程的性质和规律。
二、实验原理随机过程是指一系列随机变量按照一定规则排列而成的序列。
在现实生活中,随机过程广泛存在于自然界和人类社会,如股票价格、气象变化、生物进化等。
随机过程的研究有助于我们更好地理解和预测这些现象。
随机过程可以分为两类:离散随机过程和连续随机过程。
本实验主要研究离散随机过程。
三、实验设备与材料1. 计算机2. 随机过程模拟软件(如Matlab)3. 纸笔四、实验内容1. 随机过程的基本概念(1)随机变量的概念随机变量是指具有不确定性的变量,它可以取多个值。
在随机过程中,随机变量是基本的研究对象。
(2)随机过程的概念随机过程是由一系列随机变量按照一定规则排列而成的序列。
2. 随机过程的基本性质(1)无后效性无后效性是指随机过程的前后状态相互独立。
(2)无记忆性无记忆性是指随机过程的状态只与当前时刻有关,与过去时刻无关。
(3)马尔可夫性马尔可夫性是指随机过程的状态只与当前时刻有关,与过去时刻无关。
3. 随机过程的运算(1)随机过程的和设{Xn}和{Yn}是两个随机过程,则它们的和{Zn}定义为Zn = Xn + Yn。
(2)随机过程的差设{Xn}和{Yn}是两个随机过程,则它们的差{Zn}定义为Zn = Xn - Yn。
(3)随机过程的乘积设{Xn}和{Yn}是两个随机过程,则它们的乘积{Zn}定义为Zn = Xn Yn。
4. 随机过程的模拟利用随机过程模拟软件(如Matlab)模拟随机过程,观察其性质和规律。
五、实验步骤1. 初始化随机数生成器2. 定义随机过程(1)根据随机过程的基本性质,定义随机过程{Xn}。
(2)根据随机过程的运算,定义随机过程{Yn}。
3. 模拟随机过程(1)使用随机过程模拟软件(如Matlab)模拟随机过程{Xn}和{Yn}。
(2)观察模拟结果,分析随机过程的性质和规律。
随机过程实验报告全
随机过程实验报告学院:专业:学号:姓名:一、实验目的通过随机过程的模拟实验,熟悉随机过程编码规律以及各种随机过程的实现方法,通过理论与实际相结合的方式,加深对随机过程的理解。
二、实验内容(1)熟悉Matlab工作环境,会计算Markov链的n步转移概率矩阵和Markov链的平稳分布。
(2)用Matlab产生服从各种常用分布的随机数,会调用matlab自带的一些常用分布的分布律或概率密度。
(3)模拟随机游走。
(4)模拟Brown运动的样本轨道的模拟。
(5)Markov过程的模拟。
三、实验原理及实验程序n步转移概率矩阵根据Matlab的矩阵运算原理编程,Pn = P ^n。
已知随机游动的转移概率矩阵为:P =0.5000 0.5000 00 0.5000 0.50000.5000 0 0.5000求三步转移概率矩阵p3及当初始分布为P{x0 = 1} = p{x0 = 2} = 0, P{x0 = 3} = 1 时经三步转移后处于状态3的概率。
代码及结果如下:P = [0.5 0.5 0; 0 0.5 0.5; 0.5 0 0.5] %一步转移概率矩阵P3 = P ^3 %三步转移概率矩阵P3_3 = P3(3,3) %三步转移后处于状态的概率1、两点分布x=0:1;y=binopdf(x,1,0.55);plot(x,y,'r*');title('两点分布');2、二项分布N=1000;p=0.3;k=0:N;pdf=binopdf(k,N,p);plot(k,pdf,'b*');title('二项分布');xlabel('k');ylabel('pdf');gridon;boxon3、泊松分布x=0:100;y=poisspdf(x,50);plot(x,y,'g.');title('泊松分布')4、几何分布x=0:100;y=geopdf(x,0.2);plot(x,y,'r*');title('几何分布');xlabel('x');ylabel('y');5、泊松过程仿真5.1 % simulate 10 timesclear;m=10; lamda=1; x=[];for i=1:ms=exprnd(lamda,'seed',1);x=[x,exprnd(lamda)];t1=cumsum(x);end[x',t1']5.2%输入:N=[];for t=0:0.1:(t1(m)+1)if t<t1(1)N=[N,0];elseif t<t1(2)N=[N,1];elseif t<t1(3)N=[N,2];elseif t<t1(4)N=[N,3];elseif t<t1(5)N=[N,4];elseif t<t1(6)N=[N,5];elseif t<t1(7)N=[N,6];elseif t<t1(8)N=[N,7];elseif t<t1(9)N=[N,8];elseif t<t1(10)N=[N,9];elseN=[N,10];endendplot(0:0.1:(t1(m)+1),N,'r-') 5.3% simulate 100 timesclear;m=100; lamda=1; x=[];for i=1:ms= rand('seed');x=[x,exprnd(lamda)];t1=cumsum(x);end[x',t1']N=[];for t=0:0.1:(t1(m)+1)if t<t1(1)N=[N,0];endfor i=1:(m-1)if t>=t1(i) & t<t1(i+1)N=[N,i];endendif t>t1(m)N=[N,m];endendplot(0:0.1:(t1(m)+1),N,'r-')6、泊松过程function I=possion(lambda,m,n)for j=1:mX=poissrnd(lambda,[1,n]); %参数为lambda的possion 过程N(1)=0;for i=2:nN(i)=N(i-1)+X(i-1);endt=1:n;plot(t,N)grid onhold onend7、布朗运动7.1一维布朗运动程序:function [t,w]=br1(t0,tf,h)t=t0:h:tf;t=t';x=randn(size(t));w(1)=0;for k=1:length(t)-1w(k+1)=w(k)+x(k);endw=sqrt(h)*w;w=w(:);end调用t0=1;tf=10;h=0.01;[t,w]=br1(t0,tf,h);figure;plot(t,w,'*');xlabel('t');ylabel('w');title('一维Brown运动模拟图'); 7.2二维布朗运动:function [x,y,m,n]=br2(x0,xf,y0,yf,h)x=x0:h:xf;y=y0:h:yf;a=randn(size(x));b=randn(size(y));m(1)=0;n(1)=0;for k=1:length(x)-1m(k+1)=m(k)+a(k);n(k+1)=n(k)+b(k);endm=sqrt(h)*m;n=sqrt(h)*n;end调用x0=0;xf=10;h=0.01;y0=0;yf=10;[x,y,m,n]=br2(x0,xf,y0,yf,h);figure;plot(m,n);xlabel('m');ylabel('n');title('二维Brown运动模拟图');7.3三维布朗运动:npoints =1000;dt = 1;bm = cumsum([zeros(1, 3); dt^0.5*randn(npoints-1, 3)]);figure(1);plot3(bm(:, 1), bm(:, 2), bm(:, 3), 'k');pcol = (bm-repmat(min(bm), npoints, 1))./ ...repmat(max(bm)-min(bm), npoints, 1);hold on;scatter3(bm(:, 1), bm(:, 2), bm(:, 3), ...10, pcol, 'filled');grid on;hold off;8、马尔科夫链离散服务系统中的缓冲动力学m=200;p=0.2;N=zeros(1,m); %初始化缓冲区A=geornd(1-p,1,m); %生成到达序列模型, for n=2:mN(n)=N(n-1)+A(n)-(N(n-1)+A(n)>=1);endstairs((0:m-1),N);9、随机数游走9.1 100步随机游走n = 100; %选取步数。
随机过程-实验报告
P2 = 0.4167 0.3889 0.3889 0.3611 0.3889 0.3611 0.2222 0.2222 0.2500
7
(1) 2 步转移概率 P2 = 0.4167 0.3889 0.3889 0.3611 0.3889 0.3611 0.2222 0.2222 0.2500
(2) X 2 的分布律 S2 = 0.1667 (3) 平稳分布 T= 0.4000 0.3714 0.2286 2、为适应日益扩大的旅游事业的需要,某城市的 A,B,C 三个照相馆组成一个联 营部,联合经营出租相机的业务,旅游者可由 A,B,C 三处任何一处租出相机,用完 后还到 A,B,C 三处的任何一处即可.估计转移概率如表所示,今欲选择 A,B,C 之一 附设租机维修点,问该点设在何处为好? (程序与结果) 还相机处 A B C 租相机处 A 0.2 0.8 0 B 0.8 0 0.2 C 0.1 0.3 0.6
1 / 2 P 1/3 1/ 3 1/3 1/3 1/ 2 1/ 6 1/3 1/ 6
(1) 计算 2 步转移概率;(2) 已知初始分布为 P 2 / 5, 2 / 5,1 / 5 ,求 X 2 的分布律 (3) 求平稳分布,要求给出程序与结果。 程序:
9
程序: p=[0.2 0.8 0;0.8 0 0.2; 0.1 0.3 0.6]; P2=p^2 a=[p'-eye(3);ones(1,3)];b=[0 0 0 1]';T=a\b 结果:
0.1389
0.0611
解:由题意可知,该问题的转移概率矩阵 P 为:
8
0 .2 P 0 .8 0 .1
实验内容 判定一个 Markov 链是否是遍历的,若是遍历的,求其极限分布。并能从实际问 题中抽象出 Markov 链,并求出其极限分布,并理解其实际意义。 实验习题 1、已知齐次马氏链 X n , n 0,1, 2, 的状态空间 E 1, 2, 3 ,状态转移矩阵为
概率论上机实验报告
概率论上机实验报告《概率论上机实验报告》在概率论的学习中,实验是非常重要的一部分。
通过实验,我们可以验证概率论的理论,加深对概率的理解,同时也可以提高我们的实验能力和数据处理能力。
本次实验报告将详细介绍一次概率论的上机实验,包括实验目的、实验方法、实验结果和实验分析。
实验目的:本次实验的目的是通过随机抽样的方法,验证概率论中的一些基本概念和定理,包括概率的计算、事件的独立性、事件的互斥性等。
通过实际操作,加深对这些概念的理解,同时也提高我们的实验技能和数据处理能力。
实验方法:本次实验采用计算机模拟的方法进行。
首先,我们选择了几个经典的概率问题作为实验对象,包括掷骰子、抽球问题等。
然后,通过编写程序,模拟进行大量的随机实验,得到实验数据。
最后,通过对实验数据的统计分析,验证概率论中的一些基本概念和定理。
实验结果:通过实验,我们得到了大量的实验数据。
通过对这些数据的统计分析,我们验证了概率的计算方法,验证了事件的独立性和互斥性等基本概念和定理。
实验结果表明,概率论中的一些基本概念和定理在实际中是成立的,这也进一步加深了我们对概率论的理解。
实验分析:通过本次实验,我们不仅验证了概率论中的一些基本概念和定理,同时也提高了我们的实验能力和数据处理能力。
通过实验,我们深刻理解了概率论的一些基本概念和定理,并且也掌握了一些实验技能和数据处理技能。
这对我们今后的学习和工作都将有很大的帮助。
总结:通过本次实验,我们深刻理解了概率论的一些基本概念和定理,同时也提高了我们的实验能力和数据处理能力。
这对我们今后的学习和工作都将有很大的帮助。
希望通过这次实验,我们能更加深入地理解概率论,并且提高我们的实验技能和数据处理技能。
随机过程上机实验报告-华中科技大学--HUST
6、/*函数功能,计算任意分布的随机过程的均值
*/
double CMyRand::Ex(void)
{
double Ex = 0;
//添加均值计算代码
int i;
double sum=0;
for(i=0;i<500;i++)
sum+=AverageRandom(0,2);
Ex=sum/i;
return Ex;
Miu为均值,sigma为标准差
*/
double CMyRand::NormalRandom(double miu, double sigma, double min, double max)
{
double dResult;
dResult = 0;
int i,n;
double sum=0.0;
n=200;
我们在示波器界面上点击一个按钮它就会执行这个按钮所对应功能比如点击正态分布它就会调用crandomdlg中的对应凼数在调用cmyrand中的产生正态分布的凼数再将结果送到cscope类中迚行显示最后我们可以在示波器上看到图形
随
班级:通信1301班
姓名:郭世康
学号:U201313639
指导教师:卢正新
dResult=dResult*(max-min)+min;//将0~1之间的均匀分布通过乘以倍数放大到到min~max
return dResult;
}
输入参数为min,max,即均匀分布的范围。输出参数为dResult,即为随机序列。
流程图:
3、
/*函数功能,根据大数定律,在min到max范围内产生正态分布的随机数
流程图:
随机过程实验报告
随机过程实验报告一、实验问题两赌徒模型对于上述模型现在假定赌徒甲的对手赌徒乙有N-i的初始财富,N为两个赌徒的总财富。
则赌徒甲破产的概率有多大?模拟之。
二、问题分析该问题实质上为带有两个吸壁的随机游动,我们可以仍可把它看作数学中的一个一维随机游动问题。
其马尔可夫链状态空间为{0,1,2,…,N},N为赌徒甲、乙的总财富。
类似于赌徒与游戏机模型,我们也可以把财富抽象地看成是一个质点。
可知求赌徒甲破产的概率转化为现在的问题就是求质点从i点出发到达0状态先于到达N状态的概率。
这里较赌徒与游戏机模型中多出一个条件,即:赌徒甲先于赌徒乙到达0状态。
我们不难得到这一模型的解:三、问题解决1、先讨论p=q的随机游动情况对于简单的随机游动,如果从0开始,向前跳一步的概率为p,向后跳一步的概率为1-p,则由计算机可以模拟此情形。
这只是许多模拟结果中的一种。
现在我们假设,有A、B两个赌徒,他们共同用于赌博的财富M=100(元),A、B输赢的概率(即赌博的技巧相同)时,他们破产的概率。
假设,共同的财富中A、B分别投入的资金如下表:运算结果如下:由上图可知,当赌徒甲、乙输赢的概率相等时,其中一人破产的概率与对方所拥有的财富成正比关系。
这样我们可以得出结论:在两人的赌博游戏中,如果赌徒甲、乙的赌博技术差不多即输赢概率相当的话,那么谁要想最终获胜的最好方法就是多带赌本。
2、下面讨论p!=q时随机游动情况我们不妨将之具体为p=0.4,q=0.6。
用计算机模拟上述数据。
可得图如下:由上图可知,在每次输赢都为1元时,就算甲90元、乙10元,甲也几乎不可能赢。
如果我们把每次下的赌注加大到5元,修改程序三,模拟之,又可得图如下:由上图我们可以更清晰地看出:在两人的赌博游戏中,如果赌徒甲的赌博技术比乙的赌博技术差的话,那么甲要想最终获胜就要带比乙多很多的赌本。
四、结果拓展现实中的赌博还可能有三人、四人甚至更多的人一起进行。
下面我们简单地讨论当赌徒输赢概率相等时的二维随机游动。
概率论上机实验报告
概率论上机实验报告概率论上机实验报告引言:概率论是数学中的一个重要分支,它研究的是随机现象的规律性。
概率论的应用十分广泛,涵盖了自然科学、社会科学、工程技术等各个领域。
为了更好地理解概率论的基本概念和方法,我们进行了一系列的上机实验,通过实际操作来探索概率事件的发生规律以及概率计算的方法。
实验一:硬币抛掷实验在这个实验中,我们使用了一枚标准的硬币,通过抛掷硬币的方式来研究硬币正反面出现的概率。
我们抛掷了100次硬币,并记录了每次抛掷的结果。
通过统计实验结果,我们可以得出硬币正反面出现的频率。
实验结果显示,硬币正面出现的次数为55次,反面出现的次数为45次。
根据频率的定义,我们可以计算出正面出现的概率为55%。
这个结果与我们的预期相符,说明硬币的正反面出现具有一定的随机性。
实验二:骰子掷掷实验在这个实验中,我们使用了一个六面骰子,通过投掷骰子的方式来研究各个面出现的概率。
我们投掷了100次骰子,并记录了每次投掷的结果。
通过统计实验结果,我们可以得出各个面出现的频率。
实验结果显示,骰子的六个面出现的次数分别为15次、18次、17次、16次、19次和15次。
根据频率的定义,我们可以计算出各个面出现的概率分别为15%、18%、17%、16%、19%和15%。
这个结果表明,在足够多次的投掷中,各个面出现的概率是相等的。
实验三:扑克牌抽取实验在这个实验中,我们使用了一副标准的扑克牌,通过抽取扑克牌的方式来研究各个牌面出现的概率。
我们随机抽取了100张扑克牌,并记录了每次抽取的结果。
通过统计实验结果,我们可以得出各个牌面出现的频率。
实验结果显示,各个牌面出现的次数相差不大,都在10次左右。
根据频率的定义,我们可以计算出各个牌面出现的概率都约为10%。
这个结果说明,在足够多次的抽取中,各个牌面出现的概率是相等的。
实验四:随机数生成实验在这个实验中,我们使用了计算机生成的随机数,通过生成随机数的方式来研究随机数的分布规律。
实验2随机过程的计算机模拟
[Pxx,w] = periodogram(x,window) pyulear Pxx = pyulear(x,p)
pburg
Pxx = pburg(x,p)
使用 Burg 算法谱估计, p 是估计功率 谱时指定的信号的自回归模型阶数
3、实验内容
1、产生一组均值为 1,方差为 4 的正态分布的随机序列(1000 个样本) ,估计该序列的均值 与方差。 2、按如下模型产生一组随机序列: x(n)=0.8x(n-1)+w(n) 其中 w(n)为均值为 1,方差为 4 的正态分布白噪声序列。估计过程的自相关函数与功率谱。 3、设信号为 x(n)=sin(2πf1n)+2cos(2πf2n)+w(n),n=1,2,....,N,其中 f1=0.05,f2=0.12,w(n)为 正态白噪声, 试在 N=356 和 1024 点时, 分别产生随机序列 x(n)、 画出 x(n)的波形并估计 x(n) 的相关函数和功率谱。
17
实验 3 随机过程的特征估计
1、实验目的
了解随机过程特征估计的基本概念和方法,学会运用 Matlab 函数对随机过程进行特征 估计,并且通过实验了解不同估计方法所估计出来结果之间的差异。
2、实验原理
设随机序列 X(n)、Y(n)为各态历经过程,样本分别为 x(n)、y(n)(n=0,1,....N-1) 。 1、均值的估计
图 4.1 不同亮度和对比度图片及其直方图对比
2.3 直方图均衡 设随机变量 R 在区间[0,1]上取值,他的概率密度为 fR(r),对 R 做变换定义一个新的变 量 S, S=T(R) (5) 其中变换函数 T(.)是一个单调函数,且
0 ≤ T ( R) ≤ 1
随机变量 S 的概率密度为
随机过程实验讲义
随机过程实验讲义刘继成华中科技大学数学与统计学院2011-2012年上半年为华中科技大学数学系本科生讲授随机过程课程参考资料前言 (1)第一章Matlab 简介 (2)第二章简单分布的模拟 (6)第三章基本随机过程 (9)第四章Markov过程 (12)第五章模拟的应用和例子 (16)附录各章的原程序 (51)参考文献 (75)若想检验数学模型是否反映客观现实,最自然的方法是比较由模型计算的理论概率和由客观试验得到的经验频率。
不幸的是,这两件事都往往是费时的、昂贵的、困难的,甚至是不可能的。
此时,计算机模拟在这两方面都可以派上用场:提供理论概率的数值估计与接近现实试验的模拟。
模拟的第一步自然是在计算机程序的算法中如何产生随机性。
程序语言,甚至计算器,都提供了“随机”生成[0,1]区间内连续数的方法。
因为每次运行程序常常生成相同的“随机数”,因此这些数被称为伪随机数。
尽管如此,对于多数的具体问题这样的随机数已经够用。
我们将假定计算机已经能够生成[0,1]上的均匀随机数。
也假定这些数是独立同分布的,尽管它们常常是周期的、相关的、……。
……本讲义的安排如下,第一章是Matlab简介,从实践动手角度了解并熟悉Matlab环境、命令、帮助等,这将方便于Matlab的初学者。
第二章是简单随机变量的模拟,只给出了常用的Matlab 模拟语句,没有堆砌同一种变量的多种模拟方法。
对于没有列举的随机变量的模拟,以及有特殊需求的读者应该由这些方法得到启发,或者参考更详细的其他文献资料。
第三章是基本随机过程的模拟。
主要是简单独立增量过程的模拟,多维的推广是直接的。
第四章是Markov过程的模拟。
包括服务系统,生灭过程、简单分支过程等。
第五章是这些模拟的应用。
例如,计算概率、估计积分、模拟现实、误差估计,以及减小方差技术,特别给读者提供了一些经典问题的模拟,通过这些问题的模拟将会更加牢固地掌握实际模拟的步骤。
平稳过程的模拟、以及利用平稳过程来预测的内容并没有包含在本讲义之内,但这丝毫不影响该内容的重要性,这也是将会增补进来的主要内容之一。
概率论与随机过程上机实验报告
概率论与随机过程上机实验报告题目一题目对二项分布事件的概率的精确计算与用泊松分布和中心极限定理的近似计算进行对比。
P变化n固定,进行比较n固定,p变化进行比较。
源代码运行结果黑星代表二项分布,蓝色是泊松分布绿线是中心极限定理小结n变化从50开始到150,中心极限定理的计算方法更加接近二项分布的精确计算,泊松分布于精确计算差距稍微增大但保持原有的变化趋势。
p改变时,p=0.5时取最大值,仍然是中心极限定理比泊松分布更加接近二项分布精确计算。
第二题题目对正态总体参数的区间估计,进行验证及区间长度的变化情况(注:对一个参数,验证一种情形即可)。
(a)样本容量固定,置信度变化;(b)置信度固定,样本容量变化。
源程序运行结果小结可以看出来,当样本容量不断增加时,区间估计的精度越来越高;同时,当置信度不断提高时,区间估计的精度也越来越高。
第三题题目自己选一个总体,验证样本k阶矩的观察值随样本容量的增大与总体k阶矩接近程度(对k=1,2进行验证)源代码运行结果小结使用自由度为10的卡方分布作为研究总体,取样本容量大小从1到10000。
图像表明,,随着样本容量的增加,样本观测值的一阶原点矩和二阶原点矩都越来越接近于总体的一二阶原点矩,即10和120。
第五题题目自己设计一种情形,当样本至少为多少时,产品的合格率才能符合给定的合格率源程序运行结果小结观察可知,卡方分布产生的500个随机数的统计直方图的形状与真实卡方分布曲线形状基本拟合。
个人感想之前大一在进行数学建模的时候通常要用到数理统计的相关知识,但由于没有系统的学习过,始终是一知半解。
经过一学期对概率论与随机过程的学习,掌握了很多统计学上的观点以及方法,这对之后的工作或是科研都有着很大的作用。
经过这次的上机实验,也能让我们从编程的角度更深入的理解一些方法在实践中的用法,受益匪浅。
最后,感谢老师一学期的辛勤教学,也希望老师之后身体健康工作顺利。
哈尔滨工程大学 研究生 随机过程课程实验报告~.
第一题:用PC机产生[0,1]均匀分布的白色序列{}kkX(=,3,2,1),2000(1) 打印出前50个数{}iiX=),,(3,2,150(2) 分布检验(3) 均值检验(4) 方差检验(5) 计算出相关函数{}±±=iB(±i),10,2,,0,1x源程序:clear;clc;x=rand(1,2000);fprintf('1.输出前50个数:');for i=1:5j=1:10;X(i,j)=x((i-1)*10+j);endX % 打印出前50个数y1=x(find(x>=0&x<0.1));t(1)=length(y1);y2=x(find(x>=0.1&x<0.2));t(2)=length(y2);y3=x(find(x>=0.2&x<0.3));t(3)=length(y3);y4=x(find(x>=0.3&x<0.4));t(4)=length(y4);y5=x(find(x>=0.4&x<0.5));t(5)=length(y5);y6=x(find(x>=0.5&x<0.6));t(6)=length(y6);y7=x(find(x>=0.6&x<0.7));t(7)=length(y7);y8=x(find(x>=0.7&x<0.8));t(8)=length(y8);y9=x(find(x>=0.8&x<0.9));t(9)=length(y9);y10=x(find(x>=0.9&x<1));t(10)=length(y10) ;fprintf('2.分布检验:');tsubplot(2,1,1);hist(x,10); % 分布检验fprintf('3.均值检验:');EX=mean(x) % 均值检验fprintf('4.方差检验:');DX=var(x) % 方差检验fprintf('5.计算相关函数:');for m=-10:1:10j=2000-abs(m);for i=1:jC(i)=(x(abs(m)+i)-EX).*(x(i)-EX);endB(m+11)=sum(C)/j;endfor i=1:3j=1:7;Bx(i,j)=B((i-1)*7+j);endBx % 计算相关函数subplot(2,1,2)m=-10:10;plot(m,B)1.输出前50个数:X =Columns 1 through 80.1315 0.6175 0.4759 0.0236 0.8753 0.0960 0.5479 0.07460.8483 0.4888 0.4260 0.5609 0.6730 0.1103 0.7614 0.49120.5077 0.5892 0.0702 0.0386 0.4879 0.3002 0.0358 0.79340.4440 0.4423 0.5000 0.0325 0.0196 0.2932 0.0558 0.72080.8507 0.1279 0.4534 0.6225 0.4175 0.6702 0.0820 0.8725 Columns 9 through 100.9542 0.25160.5314 0.59830.5083 0.01650.8429 0.54420.4153 0.55662.分布检验:t =210 192 197 202 197 214 198 191 188 211图(1)分布检验3.均值检验:理论值:EX =0.5实际值:EX =0.49914.方差检验:理论值:DX =1/12实际值:DX =0.0839均值和方差表:5.计算相关函数:Bx =0.0022 0.0011 -0.0010 -0.0014 -0.0013 0.0034 -0.0051-0.0026 0.0018 -0.0019 0.0838 -0.0018 0.0019 -0.0025 -0.0051 0.0033 -0.0014 -0.0015 -0.0013 0.0009 0.0020图(2)相关函数第二题:用PC机产生()1,0kkX(=),N分布的正态序列{},20003,2,1(1)打印出前50个数{}ii=X3,2,1,(50),(2)分布检验(3)均值检验(4)方差检验(5)计算出相关函数{}±±=iB(±i),10,2,,0,1x源程序:clear;clc;x=randn(1,2000);fprintf('1.输出前50个数:');for i=1:5j=1:10;X(i,j)=x((i-1)*10+j);endX % 打印出前50个数y1=x(find(x>=0&x<0.1));t(1)=length(y1);y2=x(find(x>=0.1&x<0.2));t(2)=length(y2);y3=x(find(x>=0.2&x<0.3));t(3)=length(y3);y4=x(find(x>=0.3&x<0.4));t(4)=length(y4);y5=x(find(x>=0.4&x<0.5));t(5)=length(y5);y6=x(find(x>=0.5&x<0.6));t(6)=length(y6);y7=x(find(x>=0.6&x<0.7));t(7)=length(y7);y8=x(find(x>=0.7&x<0.8));t(8)=length(y8);y9=x(find(x>=0.8&x<0.9));t(9)=length(y9);y10=x(find(x>=0.9&x<1));t(10)=length(y10) ;fprintf('2.分布检验:');tsubplot(2,1,1);hist(x,10); % 分布检验fprintf('3.均值检验:');EX=mean(x) % 均值检验fprintf('4.方差检验:');DX=var(x) % 方差检验fprintf('5.计算相关函数:');for m=-10:1:10j=2000-abs(m);for i=1:jC(i)=(x(abs(m)+i)-EX).*(x(i)-EX);endB(m+11)=sum(C)/j;endfor i=1:3j=1:7;Bx(i,j)=B((i-1)*7+j);endBx % 计算相关函数subplot(2,1,2)m=-10:10;plot(m,B)1.输出前50个数:X =Columns 1 through 8-1.0457 -1.0045 -0.7384 -0.9445 -0.1354 -0.4226 1.5979 -0.38110.3409 0.5486 -1.0160 -1.6335 -1.8104 -0.0349 0.6758 -0.8909-0.9381 -1.5436 0.1596 -0.3688 -1.0122 0.1134 0.8850 -0.5823 -0.3197 1.6065 1.0613 0.3005 0.3511 0.9522 -0.6329 -0.8587 -0.0243 0.9170 -0.5015 -0.2513 1.6728 -1.3644 -0.3351 1.2946 Columns 9 through 100.2348 -0.3093-1.8913 2.2175-0.7176 -0.67331.7461 -0.55610.4811 -0.25202.分布检验:t =71 81 70 78 66 62 71 71 58 49图(3)分布检验3.均值检验: 理论值:EX =0实际值:EX = -0.0054 4.方差检验: 理论值:DX =1实际值:DX = 0.9916 均值和方差表:5.计算相关函数: Bx =-0.0097 -0.0258 -0.0077 0.0131 0.0244 -0.0224 0.0590 0.0228 0.0272 0.0208 0.9911 0.0212 0.0271 0.0224 0.0588 -0.0223 0.0238 0.0125 -0.0083 -0.0255 -0.0082图(4)相关函数第三题:设{}1000,3,2,1),( =k k ε为正态白色序列,服从()1,0N 分布,()()()14-+=k k k X εε,1000,3,2,1 =k 求(1) ()()∑==1000110001k k X k EX (2) ()()∑==100012210001k k X k EX(3) ()()()[]22k EX k EX k DX -=(4) ()()[]()[]{}∑-=--+=mn xxx m n X m m n X m B 1000110001,10,,2,1,0±±±= m ,并画出x B (m)图源程序:clfclearp=randn(1,1001);k=2:1001;x=p(k)+4.*p(k-1);m=mean(x)m1=mean(x.^2)s=m1-m.^2for i=-10:10l=0;p=1000-abs(i);for k=1:pl=l+[x(k+abs(i))-m]*[x(k)-m];endb(i+11)=l/p;endi=-10:10;plot(i,b)1. 均值EX:理论值:EX =0实际值:EX =-0.02092.均方值:EX^2:理论值:EX^2= 17实际值:EX^2= 16.39993. 方差DX:理论值:DX = 17实际值:DX = 16.3995均值和方差表:4. 相关函数:B(m) =x0.1462 0.6689 -0.0319 0.1473 0.1085 -0.3709 0.2299 0.6721 0.1214 4.4418 16.8904 4.4418 0.1214 0.6721 0.2299 -0.3709 0.1085 0.1473 -0.0319 0.6689 0.1462图(5) 相关函数第四题:设{()k ξ,k=0,1,2,…}为N (0,1)正态白序列,()k ξ~N(0,1) 令()()()0.7071X k X k k ξ+-=,k =1,2,…,1000; ()10X -=。
西安交通大学概率论上机实验报告
西安交通大学一、试验目的概率论部分1.了解matlab软件的基本命令与操作;2.熟悉matlab用于描述性统计的基本菜单操作及命令;3.会用matlab求密度函数值、分布函数值、随机变量分布的上下侧分位数。
数理统计部分1.熟悉matlab进行参数估计、假设检验的基本命令与操作.2.掌握用matlab生成点估计量值的模拟方法3.会用matlab进行总体数学期望和方差的区间估计。
4.会用matlab进行单个、两个正态总体均值的假设检验。
5.会用matlab进行单个、两个正态总体方差的假设检验。
二、试验问题实验五、随机变量综合试验实验内容1. 产生(6),(10),F(6,10)和t(6)四种随机数,并画出相应的频率直方图;2. 在同一张图中画出了N(0,1)和t(6)随机数频率直方图,比较它们的异同;3. 写出计算上述四种分布的分布函数值和相应上侧分位点命令.实验七、对统计中参数估计进行计算机模拟验证实验内容:1.产生服从给定分布的随机数,模拟密度函数或概率分布;2.对分布包含的参数进行点估计,比较估计值与真值的误差;3. 对分布包含的参数进行区间估计,行区间估计,可信度。
三、实验源程序及结果实验5源程序:% 清空内存,清空输出屏幕clc;clear;% 首先是指数分布n = normpdf(-2::14,6);% 绘制频率直方图plot(-2::14,n,'color','r','linewidth',2);ylabel('概率密度');title('正态分布概率密度');% t分布h1 = figure;t = tpdf(-3::3,6);plot(-3::3,t,'color','g','linewidth',2);ylabel('对应频率');title('t分布频率密度');% F分布h2 = figure;f = fpdf(0::10,6,10);plot(0::10,f,'color','k','linewidth',2); ylabel('对应频率');title('F分布频率直方图');% 卡方分布h3 = figure;ka = chi2pdf(0::15,6);plot(0::15,ka,'color','y','linewidth',2); ylabel('对应频率');title('卡方分布频率直方图');% 再来绘图h4 = subplot(2,1,1);y1=normpdf(-10::10,0,1);plot(-10::10,y1,'color','b','linewidth',2); title('N(0,1)');h5 = subplot(2,1,2);t1 = tpdf(-10::10,6);plot(-10::10,t1,'color','r','linewidth',2);%上侧分位数norminv,0,1)tinv,6)chi2inv,6)finv,6,10)运行结果:正态分布T分布F分布N(0,1)和t(6)随机数频率直方图四种分布的分布函数值和相应上侧分位点实验7源程序:% 以正太分布为例% 清空内存,清空输出屏幕clc;clear;y=normrnd(10,1,10000,1);ymin=min(y);ymax=max(y);x=linspace(ymin,ymax,80);yy=hist(y,x);yy=yy/10000;bar(x,yy);grid;xlabel('(a)¸概率密度分布直方图 ');phat=mle(y,'distribution','norm','alpha',%对分布函数参数进行区间估计,并估计区间的可信度 [mu,sigma,m_ci,s_si]=normfit(y,运行结果:正态分布概率密度分布直方图得到估计参数m =σ =由上可知估计的m = ,而实际是 10。
西安交大概率论上机实验报告西安交通大学概率论实验报告
西安交⼤概率论上机实验报告西安交通⼤学概率论实验报告概率论与数理统计上机实验报告⼀、实验内容使⽤MATLAB 软件进⾏验证性实验,掌握⽤MATLAB 实现概率统计中的常见计算。
本次实验包括了对⼆维随机变量,各种分布函数及其图像以及频率直⽅图的考察。
1、列出常见分布的概率密度及分布函数的命令,并操作。
2、掷硬币150次,其中正⾯出现的概率为0.5,这150次中正⾯出现的次数记为X ,(1) 试计算45=X 的概率和45≤X 的概率;(2) 绘制分布函数图形和概率分布律图形。
3、⽤Matlab 软件⽣成服从⼆项分布的随机数,并验证泊松定理。
4、设22221),(y x e y x f +-=π是⼀个⼆维随机变量的联合概率密度函数,画出这⼀函数的联合概率密度图像。
5、来⾃某个总体的样本观察值如下,计算样本的样本均值、样本⽅差、画出频率直⽅图。
A=[16 25 19 20 25 33 24 23 20 24 25 17 15 21 22 26 15 23 2220 14 16 11 14 28 18 13 27 31 25 24 16 19 23 26 17 14 30 21 18 16 18 19 20 22 19 22 18 26 26 13 21 13 11 19 23 18 24 28 13 11 25 15 17 18 22 16 13 12 13 11 09 15 18 21 15 12 17 13 14 12 16 10 08 23 18 11 16 28 13 21 22 12 08 15 21 18 16 16 19 28 19 12 14 19 28 28 28 13 21 28 19 11 15 18 24 18 16 28 19 15 13 22 14 16 24 20 28 18 18 28 14 13 28 29 24 28 14 18 18 18 08 21 16 24 32 16 28 19 15 18 18 10 12 16 26 18 19 33 08 11 18 27 23 11 22 22 13 28 14 22 18 26 18 16 32 27 25 24 17 17 28 33 16 20 28 32 19 23 18 28 15 24 28 29 16 17 19 18]6. 利⽤Matlab 软件模拟⾼尔顿板钉试验。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2015-2016第一学期随机过程第二次上机实验报告实验目的:通过随机过程上机实验,熟悉Monte Carlo计算机随机模拟方法,熟悉Matlab的运行环境,了解随机模拟的原理,熟悉随机过程的编码规律即各种随机过程的实现方法,加深对随机过程的理解。
上机内容:(1 )模拟随机游走。
(2)模拟Brown运动的样本轨道。
(3)模拟Markov过程。
实验步骤:(1)给出随机游走的样本轨道模拟结果,并附带模拟程序。
①一维情形%—维简单随机游走% “从0开始,向前跳一步的概率为p,向后跳一步的概率为1-p”n=50;p=0.5;y=[0 cumsum(2.*(rand(1,n-1)v=p)-1)]; % n 步。
plot([0:n-1],y); %画出折线图如下。
w%一维随机步长的随机游动%选取任一零均值的分布为步长,比如,均匀分布。
n=50;x=rand(1,n)-1/2;y=[0 (cumsum(x)-l)];plot([0:n],y);②二维情形%在(u, v)坐标平面上画出点(u(k), v(k)), k=1:n,其中(u(k)) 和(v(k))是一维随机游动。
例%子程序是用四种不同颜色画了同一随机游动的四条轨道。
n=100000;colorstr=['b' 'r' 'g' 'y'];for k=1:4z=2.*(rand(2,n)<0.5)-1;x=[zeros(1,2); cumsum(z')];col=colorstr(k);plot(x(:,1),x(:,2),col);③%三维随机游走 ranwalk3dp=0.5;n=10000; colorstr=['b' 'r' 'g' 'y'];for k=1:4z=2.*(rand(3,n)v=p)-1; x=[zeros(1,3); cumsum(z')];col=colorstr(k);plot3(x(:,1),x(:,2),x(:,3),col);hold on end gridhold onendgrid4:04003?0-200-300-400-2OD20050、-100-200 -20D⑵给出一维,二维Brown运动和Poisson过程的模拟结果,并附带模拟程序,没有结果的也要把程序记录下来。
①一维Brown%这是连续情形的对称随机游动,每个增量W(s+t)-W(s)是高斯分布N(0, t),不相交区间上的增量是独立的。
典型的模拟它方法是用离散时间的随机游动来逼近。
n=1000;dt=1;y=[0 cumsum(dt A0.5.*randn(1,n))]; % 标准布朗运动。
plot(0:n,y);②二维Brownnp oints = 5000;dt = 1;bm = cumsum([zeros(1,3); dt A0.5*randn(npoints-1,3)]); figure(1);plot(bm(:, 1), bm(:, 2), 'k');pcol = (bm-repmat(min(bm), npoints, 1))./ ...repmat(max(bm)-min(bm), npoints, 1);hold on;scatter(bm(:, 1), bm(:, 2),...10, pcol, 'filled');grid on;hold off;200③三维Brown叩oints = 5000;dt = 1;bm = cumsum([zeros(1,3); dt A0.5*randn(npoints-1,3)]); figure(1); plot3(bm(:, 1), bm(:, 2), bm(:, 3), 'k');pcol = (bm-repmat(min(bm), npoints, 1))./ ...repmat(max(bm)-min(bm), npoints, 1);hold on;scatter3(bm(:, 1), bm(:, 2), bm(:, 3),...10, pcol, 'filled');grid on;hold off;syms Un X S;15010050 o-5050④%泊松过程的模拟、检验及参数估计100n=10;%生成n*n个随机数r=1;%参数temp=0;tem=0;Un=rand(n,1);%共产生n*n个随机数for i=1:1:nX(i)=-log(Un(i))/r;endX=subs(X);for i=1:1:nfor j=1:1:itemp=temp+X(j);endS(i)=temp;temp=0;endS=subs(S);%检验泊松过程使用第四条for i=1:1:ntem=tem+S(i);endsigmaN=tem;T=S(n);alpha=0.05;%置信水平p=sigmaN/T;p1=(1/2)*(n-1.96*(n/3F(1/2));p2=(1/2)*(n+1.96*(n/3F(1/2));c1=subs(p-p1)c2=subs(p-p2)if (c1<=0&c2>=0)|(c1>=0&c2<=0) disp('这是一个泊松过程!') %参数估计使用极大似然估计r_=subs(n/T);if abs(subs(r_-r))<0.1disp('参数估计正确!')disp('参数估计值为:')r_end%绘制轨迹y=0;x=0:0.001:subs(S(1));Plot(x,y)for k=1:1:ny=k;x=subs(S(k)):0.001:subs(S(k+1));hold onplot(x,y)endelsedisp('这不是一个泊松过程!')end96 : ---------------------------------------------------------------------------------5 ” ---------4「3 -2 _ _____________________〔. _______________ ―0 ---------------------------------------- > -------------------------------------150 5 10⑤%二维poisson2d lambda=100; nmb=poissrnd(lambda)x=rand(1,nmb); y=rand(1,nmb);gridscatter(x,y,5,5.*rand(1,nmb));1「0.9 --0.8 - *07 - . , *+0.6 - ,05 -0 4 -0.3 - *■0.2 ;*0.1 - ” ,0 ------------- L -------- L --------- L ----------L_0 0 1 0.2 0.3 0 4⑥%三维poisson3d%单位体积的泊松点数强度为lambda=100;nmb=poissrnd(lambda)x=rand(1,nmb);y=rand(1,nmb);z=rand(1,nmb);gridscatter3(x,y,z,5,5.*rand(1,nmb));0.5 0.£07 0.8 0.9 1 lambda(3) Markov过程的模拟结果。
①离散服务系统中的缓冲动力学%离散服务系统中的缓冲动力学m=200;P=0.2;N=zeros(1,m); %初始化缓冲区A=geornd(1-p,1,m); %生成到达序列模型,比如,几何分布for n=2:mN(n)=N(n-1)+A(n)-(N(n-1)+A(n)>=1);end stairs((0:m-1),N);21.8 -1.6 -1.4 -1.2 -② M/M/1模型% [tjump, systsize] = simmm1(n, lambda, mu)% Inputs: n - number of jumps% lambda - arrival intensity% mu - intensity of the service times% Outputs: tjump - cumulative jump times% systsize - system size% set default parameter values if ommitedI: nargin=0nargin=0;if (nargin==0) n=500;£0 80 100 120 140160180 200 1 -0 0 -0.6 -0.4 -0.2 --lambda=0.8;mu=1;endi=0; %initial value, start on level itjump(1)=O; %start at time 0systsize(1)=i; %at time 0: level ifor k=2:nif i==0mutemp=0;elsemutemp=mu;endtime=-log(rand)/(lambda+mutemp); % Inter-step times:%Exp(lambda+mu)-distributedif rand<lambda/(lambda+mutemp)i=i+1; %jump up: a customer arriveselsei=i-1; %jump down: a customer is departingend %ifsystsize(k)=i;%system size at time i tjump(k)=time;end %for in : nargin 不为0时 nargin=2;if (nargin==0)n=500;lambda=0.8;mu=1;endtjump=cumsum(tjump);stairs(tjump,systsize);%cumulative jump timesi=0; %initial value, start on level itjump(1)=O; %start at time 0systsize(1)=i; %at time 0: level ifor k=2:nif i==0mutemp=0;elsemutemp=mu;endtime=-log(rand)/(lambda+mutemp); % Inter-step times:%Exp(lambda+mu)-distributedif rand<lambda/(lambda+mutemp)i=i+1; %jump up: a customer arriveselsei=i-1; %jump down: a customer is departingend systsize(k)=i;%system size at time i tjump(k)=time;end %for i③ M/D/1系统% function [jumptimes, systsize] = simmd1(tmax, lambda)% SIMMD1 simulate a M/D/1 queueing system. Poisson arrivals % of intensity lambda, deterministic service times S=1.% [jumptimes, systsize] = simmd1(tmax, lambda)%iftjump=cumsum(tjump);stairs(tjump,systsize);%cumulative jump times% Inputs: tmax - simulation interval% lambda - arrival intensity% Outputs: jumptimes - time points of arrivals or departures % systsize - system size in M/D/1 queue% systtime - system times% Authors:% v1.2 07-0ct-02% set default parameter values if ommitedI: nargin=0nargin=0;if (nargin==0)tmax=1500;lambda=0.95;endarrtime=-log(rand)/lambda; % Poisson arrivalsi=1;while (min(arrtime(i,:))<=tmax)arrtime = [arrtime; arrtime(i, :)-log(rand)/lambda];i=i+1;endn=length(arrtime); % arrival times t_1,…t_narrsubtr=arrtime-(0:n-1)'; % t_k-(k-1)arrmatrix=arrsubtr*ones(1,n);deptime=(1:n)+max(triu(arrmatrix)); % departure times%u_k=k+max(t_1,..,t_k- k+1)B=[ones(n,1) arrtime ; -ones(n,1) deptime'];Bsort=sortrows(B,2); % sort jumps in order jumps=Bsort(:,1);jumptimes=[0;Bsort(:,2)];systsize=[O;cumsum(jumps)]; % M/D/1 processsysttime=deptime-arrtime'; % system times% plot a histogram of system timeshist(systtime,30);140n:nargin 不为0% function [jumptimes, systsize] = simmd1(tmax, lambda)% SIMMD1 simulate a M/D/1 queueing system. Poisson arrivals % of intensity lambda, deterministic service times S=1.%% [jumptimes, systsize] = simmd1(tmax, lambda)%% Inputs: tmax - simulation interval% lambda - arrival intensity% Outputs: jumptimes - time points of arrivals or departures% systsize - system size in M/D/1 queuesysttime - system times% Authors:% v1.2 07-0ct-02% set default parameter values if ommitednargin=2;if (nargin==0)tmax=1500;lambda=0.95;endarrtime=-log(rand)/lambda; % Poisson arrivalsi=1;while (min(arrtime(i,:))<=tmax)arrtime = [arrtime; arrtime(i, :)-log(rand)/lambda];i=i+1;endn=length(arrtime); % arrival times t_1,…t_n arrsubtr=arrtime-(0:n-1)'; % t_k-(k-1)arrmatrix=arrsubtr*ones(1,n);deptime=(1:n)+max(triu(arrmatrix)); % departure times%u_k=k+max(t_1,..,t_k-k +1)B=[ones(n,1) arrtime ; -ones(n,1) deptime'];Bsort=sortrows(B,2); % sort jumps in order jumps=Bsort(:,1);jumptimes=[0;Bsort(:,2)];systsize=[O;cumsum(jumps)]; % M/D/1 processsysttime=deptime-arrtime'; % system times% plot a histogram of system timeshist(systtime,30);900 5 10 15 20 25 308070605040和2010④ M/G/infinity 系统%function [jumptimes, systsize] = simmginfty(tmax, lambda)% SIMMGINFTY simulate a M/G/infinity queueing system. Arrivals are% a homogeneous Poisson process of intensity lambda. Service times% Pareto distributed (can be modified).% [jumptimes, systsize] = simmginfty(tmax, lambda) %% Inputs: tmax - simulation interval% lambda - arrival intensity% Outputs: jumptimes - times of state changes in the system% systsize - number of customers in system% See SIMSTMGINFTY , SIMGEOD1, SIMMM1, SIMMD1, SIMMG1.% set default parameter values if ommitedI : nargin=0nargin=0;if (nargin==0)tmax=1500;lambda=1;end% generate Poisson arrivals% the number of points is Poisson-distributednpoints = poissrnd(lambda*tmax);% conditioned that number of points is N,% the points are uniformly distributed if(npoints>0)arrt = sort(rand(npoints, 1)*tmax);elsearrt =[];end% uncomment if not available POISSONRND % generate Poisson arrivals% arrt=-log(rand)/lambda;% i=1;% while (min(arrt(i,:))<=tmax)% arrt = [arrt; arrt(i, :)-log(rand)/lambda]; % i=i+1;% end% npoints=length(arrt); % servt=50.*rand(n,1); s_1,...,s_kalpha = 1.5; % arrival times t_1,...,t_n% uniform service times% Pareto service timesservt = rand A(-1/(alpha-1))-1; % stationary renewal processservt = [servt; rand(npoints-1,1)4(-1/alpha)-1]; % arbitrary choice of mean% Output is system size process N.B = [ones(npoints, 1) arrt; -ones(npoints, 1) dept]; Bsort = sortrows(B, 2);% sort jumps inorderjumps = Bsort(:, 1); jumptimes = [0; Bsort(:, 2)]; systsize = [0; cumsum(jumps)]; % M/G/infinitysystem size% processstairs(jumptimes, systsize); xmax = max(systsize)+5; axis([0 tmax 0 xmax]); gridservt =10.*servt;dept = arrt+servt; % departure timesn : nargin不为0时%function [jumptimes, systsize] = simmginfty(tmax, lambda)% SIMMGINFTY simulate a M/G/infinity queueing system. Arrivals are% a homogeneous Poisson process of intensity lambda. Service times% Pareto distributed (can be modified).% [jumptimes, systsize] = simmginfty(tmax, lambda) %% Inputs: tmax - simulation interval% lambda - arrival intensity% Outputs: jumptimes - times of state changes in the system% systsize - number of customers in system% See SIMSTMGINFTY , SIMGE0D1, SIMMM1, SIMMD1, SIMMG1.% set default parameter values if ommited nargin=2;if (nargin==O)tmax=1500;lambda=1;end% generate Poisson arrivals% the number of points is Poisson-distributednpoints = poissrnd(lambda*tmax);% conditioned that number of points is N,% the points are uniformly distributedif (npoints>0)arrt = sort(rand(npoints, 1)*tmax);elsearrt =[];end% uncomment if not available POISSONRND% generate Poisson arrivals% arrt=-log(rand)/lambda;% i=1;% while (min(arrt(i,:))v=tmax)% arrt = [arrt; arrt(i, :)-log(rand)/lambda];% i=i+1;% end% npoints=length(arrt); % arrival times t_1,...,t_n% servt=50.*rand(n,1); % uniform service times s_1,...,s_kalpha = 1.5; % Pareto service times servt = rand A(-1/(alpha-1))-1; % stationary renewal process servt = [servt; rand(npoints-1,1).A(-1/alpha)-1]; servt =10.*servt; % arbitrary choice of meandept = arrt+servt; % departure times% Output is system size process N.B = [ones(npoints, 1) arrt; -ones(npoints, 1) dept];Bsort = sortrows(B, 2); % sort jumps in orderjumps = Bsort(:, 1);jumptimes = [0; Bsort(:, 2)];systsize = [0; cumsum(jumps)]; % M/G/infinity system size% process stairs(jumptimes, systsize);xmax = max(systsize)+5;axis([0 tmax 0 xmax]);grid实验总结:通过这次实验,加深了我对随机过程这门课程的理解与认识,对各种随机过程的模拟有了更深刻的了解,同时也认识到模拟编程的重要性。