随机过程实验报告全
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
随机过程实验报告学院专业学号姓名
实验目的
通过随机过程的模拟实验,熟悉随机过程编码规律以
及各种随机过程的实现方法,通过理论与实际相结合的方式,加深对随机过程的理解。
二、实验内容
(1)熟悉Matlab 工作环境,会计算Markov 链的n 步转移概率矩阵和Markov 链的平稳分布。
(2)用Matlab 产生服从各种常用分布的随机数,会调用matlab 自带的一些常用分布的分布律或概率密度。
(3)模拟随机游走。
(4)模拟Brown 运动的样本轨道的模拟。
(5)Markov 过程的模拟。
三、实验原理及实验程序
n 步转移概率矩阵
根据Matlab的矩阵运算原理编程,Pn = P A n o
已知随机游动的转移概率矩阵为:
P =
0.5000 0.5000 0
0 0.5000 0.5000
0.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 A3 %三步转移概率矩阵
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;
boxon
3、泊松分布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 times clear;
m=10; lamda=1; x=[]; for i=1:m s=exprnd(lamda,'seed',1);
x=[x,exprnd(lamda)]; t1=cumsum(x);
end
[x',t1']
5.2%输入:
for t=0:0.1:(t1(m)+1)
if t N=[N,0]; elseif t N=[N,1]; elseif t N=[N,2]; elseif t N=[N,3]; elseif t N=[N,4]; elseif t N=[N,5]; elseif t N=[N,6]; elseif t N=[N,7]; elseif t N=[N,8]; elseif t N=[N,9]; else N=[N,10]; end end plot(0:0.1:(t1(m)+1),N,'r-') 5.3% simulate 100 times clear; m=100; lamda=1; x=[]; for i=1:m s= rand('seed'); x=[x,exprnd(lamda)]; t1=cumsum(x); [x',t1'] N=[]; for t=0:0.1:(t1(m)+1) if t N=[N,0]; end for i=1:(m-1) if t>=t1(i) & t N=[N,i]; end end if t>t1(m) N=[N,m]; end end plot(0:0.1:(t1(m)+1),N,'r-') 6、泊松过程 function I=possion(lambda,m,n) for j=1:m X=poissrnd(lambda,[1,n]); % 参数为lambda 的possion 过程 N(1)=0; for i=2:n N(i)=N(i-1)+X(i-1); end t=1:n; plot(t,N) grid on hold on 7、布朗运动 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)-1 w(k+1)=w(k)+x(k); end w=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)-1 m(k+1)=m(k)+a(k); n(k+1)=n(k)+b(k); end m=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 运动模拟图');