《应用随机过程》
实验报告
实验序号:1-4 日期:2013年5月30 日
姓名 | 梁光佐 | 学号 | 201005050110 | |
实验题目 | 应用随机过程综合实验 | |||
实验所用软件及版本 | MATLAB 2008 | |||
1、 实验目的 (1)通过编程实现poisson过程的模拟,运用matlab画图这样更直观的了解poisson 过程, (2)运用计算机通过编程来辅助解题,这样解决了解题的繁琐, 使解题的效力提高了,也节约了时间。 | ||||
2、实验内容 实验一 实验问题 1.编制程序产生并输出100个二项分布的随机数,. 2.进行三次Poisson过程的模拟,,作图:(在同一直角坐标系下,作出‘’的关系图 实验二 一、泊松过程的模拟 1.基本原理 根据服务系统接受服务顾客数服从泊松分布这一模型可知,{X(n),t}是一个计数过程,{,n是对应的时间间隔序列,若(n)(n=1,2,...)是独立同分布的均值为的指数分布,则{X(n),t}是具有参数为λ的泊松。 2.具休实现过程 实现步骤如下: (1).由函数random(‘exponential’,lamda)构造服从指数分布的lambda编程序列。 (2).根据服务系统模型,=+。 (3).对任意t(,),X(t)=n,由此得到泊松过程的模拟。 3.过程模拟验证 (1)设定t=0时刻,计数为0,满足X(0)=0这一条件。 (2) 是由random(‘exponential’,lamda)生成,间相互独立。 二、泊松过程的检验 1.检验方法 Kolmogorov-Smirnov检验(柯尔莫哥洛夫-斯摩洛夫),亦称拟合优度检验法,用来检用来检验模拟所得的数据的分布是不是符合一个理论的已知分布。 检验步骤及过程: (1)条件设定: H1:实验产生模拟泊松分布数据的总体分布服从泊松分布。 H0:实验产生模拟泊松分布数据的总体分布不服从泊松分布。 (2)检验准备: 对于H1,已经假定所产生模拟泊松过程数据服从泊松分布,而强度未知,利用函数poissfit(x,alpha)估算出模拟泊松过程的强度,再利用函数poisscdf(x,lamda)得到泊松分布的累积分布函数。 (3) Kolmogorov-Smirnov检验 直接调用Kolmogorov-Smirnov检验函数kstest(x,[x,p],alpha),其中,x为输入模拟泊松序列,P为累积分布函数,1- alpha为置信区间,当结果时,则输入数据位泊松分布,否则,不是泊松分布。 实验三: 学习以下函数 1. Definition 2. poissrnd 3. poisspdf 4. poissinv 5. poissfit 6. poisscdf 实验四: (1)、% PPT 例2 一维正态密度与二维正态密度 (2)、赌博问题模拟(带吸收壁的随机游走:结束N次游走所花的平均时间及终止状态分布规律) | ||||
3、详细设计(包括算法描述和程序) 实验一程序代码 %该函数用于输出服从所给定的X~b(k,p1)的m个随机数 %e,E分别为所输出随机数的和原先的均值 %v,V分别为所输出随机数的和原先的方差 %p值为给定的X~b(k,p1)的分布列中的概率 function r= bino(m,n,k,p1) g=0:n; y=binocdf(g,k,p1) for i=2:(k+1) p(1)=y(1); p(i)=y(i)-y(i-1); end R=rand(1,m) for j=1:m for l=2:k if 0<R(j)&R(j)<p(1) x(j)=0; else if y(l-1)<R(j)&R(j)<y(l) x(j)=l-1; end end end end p x e=mean(x) E=k*p1 v=var(x) V=k*p1*(1-p1) end 实验二程序代码 %该程序用于输出Poisson过程的模拟 %m1,m2,m3为Poisson过程的最终人数,n为Poisson过程的强度 %x,y,z分别m1,m2,m3个人所到达的的时间间隔 %t1,t2,t3分别m1,m2,m3个人所到达的的时刻 %k1,k2,k3检验是否与Poisson过程的强度相近 function g = poisson1(m1,m2,m3,n) R1=rand(1,m1); R2=rand(1,m2); R3=rand(1,m3); for i=1:m1 x(i)=-(log(1-R1(i)))/n; end x for i=1:m2 y(i)=-(log(1-R2(i)))/n; end y for i=1:m3 z(i)=-(log(1-R3(i)))/n; end z for i=2:m1 t1(1)=x(1); t1(i)=t1(i-1)+x(i); end for i=2:m2 t2(1)=y(1); t2(i)=t2(i-1)+y(i); end for i=2:m3 t3(1)=z(1); t3(i)=t3(i-1)+z(i); end t1 t2 t3 k1=m1/t1(m1) k2=m2/t2(m2) k3=m3/t3(m3) N1=1:m1; N2=1:m2; N3=1:m3; plot(t1,N1,'g.') hold on plot(t2,N2,'r.') hold on plot(t3,N3,'.') grid on xlabel('t') ylabel('N') title('Poisson') 实验三程序代码: 1.Definition : ① x = 0:15; y = poisspdf(x,5); plot(x,y,'+') ② x = (0:0.1:10)'; p1 = ncx2pdf(x,4,2); p = chi2pdf(x,4); plot(x,p,'-',x,p1,'-') x = (0.01:0.1:10.01)'; p1 = ncfpdf(x,5,20,10); p = fpdf(x,5,20); plot(x,p,'-',x,p1,'-') 2. poissrnd: lambda = 2; random_sample1 = poissrnd(lambda,1,10) random_sample2 = poissrnd(lambda,[1 10]) random_sample3 = poissrnd(lambda(ones(1,10))) 3. poisspdf: p = poisspdf(0,2) 4. poissinv: poissinv(0.95,2) median_defects = poissinv(0.50,2) 5. poissfit: r = poissrnd(5,10,2); [l,lci] = poissfit(r) 6. poisscdf: probability = 1-poisscdf(4,2) probability = poisscdf(4,4) 实验四程序代码: (1)、% PPT 例2 一维正态密度与二维正态密度 syms x y; s=3; t=4; mu1=0; mu2=0; sigma1=sqrt((1+s^2)); sigma2=sqrt((1+t^2)); x=-6:0.1:6; f1=1/sqrt(2*pi*sigma1)*exp(-(x-mu1).^2/(2*sigma1^2)); f2=1/sqrt(2*pi*sigma2)*exp(-(x-mu2).^2/(2*sigma2^2)); plot(x,f1,'r-',x,f2,'k-.') syms x y; s=3; t=4; mu1=0; mu2=0; sigma1=sqrt((1+s^2)); sigma2=sqrt((1+t^2)); rho=(1+s*t)/(sigma1*sigma2); f=1/(2*pi*sigma1*sigma2*sqrt(1-rho^2))*exp(-1/(2*(1-rho^2))*((x-mu1)^2/sigma1^2-2*rho*(x-mu1)*(y-mu2)/(sigma1*sigma2)+(y-mu2)^2/sigma2^2)); ezsurf(f) (2)A.赌博问题模拟(带吸收壁的随机游走:结束N次游走所花的平均时间及终止状态分布规律)程序代码: p=1/2; m1=0; m2=0; N=1000; t1=0;t2=0; for n=1:1:N m=0; a=5; while a>0 & a<10 m=m+1; r=2*binornd(1,p)-1; if r==-1 a=a-1; else a=a+1; end end if a==0 t1=t1+m; m1=m1+1; else t2=t2+m; m2=m2+1; end end fprintf('The average times of arriving 0 and 10 respectively are %d,%d.\n',[t1/m1,t2/m2]); fprintf('The frequencies of arriving 0 and 10 respectively are %d,%d.\n',[m1/N, m2/N]) B. .赌博问题模拟(带吸收壁的随机游走:结束N次游走所花的平均时间及终止状态分布规律)程序代码: randn('state',200) % set the state of randn T = 1; N = 1000; dt = T/N; dW = sqrt(dt)*randn(1,N); % increments W = cumsum(dW); % cumulative sum plot([0:dt:T],[0,W],'r-') % plot W against t xlabel('t','FontSize',16) ylabel('W(t)','FontSize',16,'Rotation',0) C. .赌博问题模拟(带吸收壁的随机游走:结束N次游走所花的平均时间及终止状态分布规律)程序代码: randn('state',100) % set the state of randn T = 1; N = 1000; dt = T/N; t = [dt:dt:1]; M = 2000; % M paths simultaneously dW = sqrt(dt)*randn(M,N); % increments W = cumsum(dW,2); % cumulative sum U = exp(repmat(t,[M 1]) + 0.5*W); Umean = mean(U); plot([0,t],[1,Umean],'b-'), hold on % plot mean over M paths plot([0,t],[ones(5,1),U(1:5,:)],'r--'), hold off % plot 5 individual paths xlabel('t','FontSize',16) ylabel('U(t)','FontSize',16,'Rotation',0,'HorizontalAlignment','right') legend('mean of 1000 paths','5 individual paths',2) aveerr = norm((Umean - exp(9*t/8)),'inf') % sample error | ||||
4、实验结果与分析 实验一运行结果: clear bino(100,10,10,0.6) y =0.0001 0.0017 0.0123 0.0548 0.1662 0.3669 0.6177 0.8327 0.9536 0.9940 1.0000 R =Columns 1 through 11 0.1622 0.7943 0.3112 0.5285 0.1656 0.6020 0.2630 0.6541 0.6892 0.7482 0.4505 Columns 12 through 22 0.0838 0.2290 0.9133 0.1524 0.8258 0.5383 0.9961 0.0782 0.4427 0.1067 0.9619 ……… p =0.0001 0.0016 0.0106 0.0425 0.1115 0.2007 0.2508 0.2150 0.1209 0.0403 0.0060 x = Columns 1 through 19 4 7 5 6 4 6 5 7 7 7 6 4 5 8 4 7 6 0 4 Columns 20 through 38 6 4 9 2 7 7 8 4 6 5 7 6 8 5 5 4 4 8 6 e = 5.7500 E = 6 v = 2.4116 V = 2.4000 实验二运行结果: poisson1(30,40,50,2) x = Columns 1 through 11 0.0354 0.2866 0.0955 0.0132 1.5470 0.2816 1.6293 0.7186 0.0037 0.5698 0.6120 Columns 12 through 22 0.5180 0.4018 0.1230 0.7400 0.1294 0.2317 1.1079 0.9703 0.2574 0.1914 0.4691 ……… y = Columns 1 through 11 0.3801 0.6303 0.0988 0.2051 0.1040 0.1943 0.2586 0.3977 0.0250 0.4023 0.1607 Columns 12 through 22 0.1382 0.1393 0.0837 1.5665 1.3718 0.8538 0.6515 0.0967 0.2234 0.1046 0.0006 ……… z = Columns 1 through 11 0.5578 0.2824 0.5927 0.1484 0.0049 0.3799 0.1638 1.4615 1.1846 0.2494 0.0126 Columns 12 through 22 0.5565 0.9075 1.7789 0.0293 0.2992 0.4367 0.5802 0.6355 0.5250 0.6490 0.2341 ……… t1 = Columns 1 through 11 0.0354 0.3220 0.4175 0.4308 1.9777 2.2593 3.8886 4.6073 4.6109 5.1807 5.7927 Columns 12 through 22 6.3107 6.7125 6.8356 7.5756 7.7050 7.9367 9.0446 10.0148 10.2723 10.4637 10.9327 ……… t2 = Columns 1 through 11 0.3801 1.0104 1.1092 1.3143 1.4183 1.6125 1.8711 2.2688 2.2938 2.6961 2.8567 Columns 12 through 22 2.9950 3.1342 3.2180 4.7845 6.1563 7.0101 7.6616 7.7583 7.9817 8.0863 8.0869 ……… t3 = Columns 1 through 11 0.5578 0.8402 1.4329 1.5813 1.5862 1.9661 2.1300 3.5915 4.7761 5.0254 5.0380 Columns 12 through 22 5.5945 6.5021 8.2810 8.3103 8.6095 9.0462 9.6264 10.2619 10.7869 11.4358 11.6699 ……… (1)、poisson1(30,40,50,2) 运行图片: (2)、poisson1(10,20,40,3) 运行截图: 实验三学习结果: 1.Definition: ① x = 0:15; y = poisspdf(x,5); plot(x,y,'+') ② x = (0:0.1:10)'; p1 = ncx2pdf(x,4,2); p = chi2pdf(x,4); plot(x,p,'-',x,p1,'-') x = (0.01:0.1:10.01)'; p1 = ncfpdf(x,5,20,10); p = fpdf(x,5,20); plot(x,p,'-',x,p1,'-') 2. poissrnd: 程序代码 lambda = 2; random_sample1 = poissrnd(lambda,1,10) random_sample2 = poissrnd(lambda,[1 10]) random_sample3 = poissrnd(lambda(ones(1,10))) 运行结果 random_sample1 = 4 1 4 2 1 2 0 0 1 3 random_sample2 = 1 1 2 1 4 3 2 0 1 0 random_sample3 = 1 0 0 1 2 2 0 2 2 3 3. poisspdf: In this problem, λ = 2 and x = 0. 程序代码:p = poisspdf(0,2) 运行结果 p = 0.1353 4. poissinv: poissinv(0.95,2) ans = 5 median_defects = poissinv(0.50,2) median_defects = 2 5. poissfit:程序代码: r = poissrnd(5,10,2); [l,lci] = poissfit(r) 运行结果 l = 5.8000 5.4000 lci = 4.4042 4.0566 7.4978 7.0458 6. poisscdf: probability = 1-poisscdf(4,2) probability = 0.0527 probability = poisscdf(4,4) probability = 0.6288 实验四运行结果: (1)、% PPT 例2 一维正态密度与二维正态密度 (2)、赌博问题模拟(带吸收壁的随机游走:结束N次游走所花的平均时间及终止状态分布规律) 运行结果 t1/m1 ans = 26.1081 t2/m2 ans = 25.4979 m1/N ans = 0.5180 m2/N ans = 0.4820 B. .赌博问题模拟(带吸收壁的随机游走:结束N次游走所花的平均时间及终止状态分布规律) 结果: C. 赌博问题模拟(带吸收壁的随机游走:结束N次游走所花的平均时间及终止状态分布规律)程序代码: 结果: aveerr = 0.0422 | ||||
5、实验总结 通过这个实验的学习,老师让我们学会了运用计算机来辅助解题,了解到了更为简单的解题方法。在编程过程中如果遇到不会的,可以通过matlab 的帮助来了解,那是一个很好的自学渠道。 | ||||
6、教师评语及评分 | ||||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论