随机过程实验报告全

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 运动模拟图');

相关文档
最新文档