《应用随机过程》
实验报告
实验序号: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小时内删除。