随机过程实验报告全.docx

上传人:b****7 文档编号:10217543 上传时间:2023-02-09 格式:DOCX 页数:22 大小:812.29KB
下载 相关 举报
随机过程实验报告全.docx_第1页
第1页 / 共22页
随机过程实验报告全.docx_第2页
第2页 / 共22页
随机过程实验报告全.docx_第3页
第3页 / 共22页
随机过程实验报告全.docx_第4页
第4页 / 共22页
随机过程实验报告全.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

随机过程实验报告全.docx

《随机过程实验报告全.docx》由会员分享,可在线阅读,更多相关《随机过程实验报告全.docx(22页珍藏版)》请在冰豆网上搜索。

随机过程实验报告全.docx

随机过程实验报告全

随机过程实验报告

 

学院:

专业:

学号:

姓名:

 

一、实验目的

通过随机过程的模拟实验,熟悉随机过程编码规律以及各种随机过程的实现方法,通过理论与实际相结合的方式,加深对随机过程的理解。

二、实验内容

(1)熟悉Matlab工作环境,会计算Markov链的n步转移概率矩阵和Markov链的平稳分布。

(2)用Matlab产生服从各种常用分布的随机数,会调用matlab自带的一些常用分布的分布律或概率密度。

(3)模拟随机游走。

(4)模拟Brown运动的样本轨道的模拟。

(5)Markov过程的模拟。

三、实验原理及实验程序

n步转移概率矩阵

根据Matlab的矩阵运算原理编程,Pn=P^n。

已知随机游动的转移概率矩阵为:

P=

0.50000.50000

00.50000.5000

0.500000.5000

求三步转移概率矩阵p3及当初始分布为

P{x0=1}=p{x0=2}=0,P{x0=3}=1时经三步转移后处于状态3的概率。

代码及结果如下:

P=[0.50.50;00.50.5;0.500.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;

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%simulate10times

clear;

m=10;lamda=1;x=[];

fori=1:

m

s=exprnd(lamda,'seed',1);

x=[x,exprnd(lamda)];

t1=cumsum(x);

end

[x',t1']

5.2%输入:

N=[];

fort=0:

0.1:

(t1(m)+1)

ift

(1)

N=[N,0];

elseift

(2)

N=[N,1];

elseift

N=[N,2];

elseift

N=[N,3];

elseift

N=[N,4];

elseift

N=[N,5];

elseift

N=[N,6];

elseift

N=[N,7];

elseift

N=[N,8];

elseift

N=[N,9];

else

N=[N,10];

end

end

plot(0:

0.1:

(t1(m)+1),N,'r-')

5.3%simulate100times

clear;

m=100;lamda=1;x=[];

fori=1:

m

s=rand('seed');

x=[x,exprnd(lamda)];

t1=cumsum(x);

end

[x',t1']

N=[];

fort=0:

0.1:

(t1(m)+1)

ift

(1)

N=[N,0];

end

fori=1:

(m-1)

ift>=t1(i)&t

N=[N,i];

end

end

ift>t1(m)

N=[N,m];

end

end

plot(0:

0.1:

(t1(m)+1),N,'r-')

6、泊松过程

functionI=possion(lambda,m,n)

forj=1:

m

X=poissrnd(lambda,[1,n]);%参数为lambda的possion过程

N

(1)=0;

fori=2:

n

N(i)=N(i-1)+X(i-1);

end

t=1:

n;

plot(t,N)

gridon

holdon

end

7、布朗运动

7.1一维布朗运动程序:

function[t,w]=br1(t0,tf,h)

t=t0:

h:

tf;

t=t';

x=randn(size(t));

w

(1)=0;

fork=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;

fork=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运动模拟图');

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);

holdon;

scatter3(bm(:

1),bm(:

2),bm(:

3),...

10,pcol,'filled');

gridon;

holdoff;

8、马尔科夫链

离散服务系统中的缓冲动力学

m=200;

p=0.2;

N=zeros(1,m);%初始化缓冲区

A=geornd(1-p,1,m);%生成到达序列模型,

forn=2:

m

N(n)=N(n-1)+A(n)-(N(n-1)+A(n)>=1);

end

stairs((0:

m-1),N);

9、随机数游走

9.1100步随机游走

n=100;%选取步数。

x=rand(n,1);%生成均匀分布随机数。

y=2*(x>0.5)-1;%转换这些数到为-1和+1。

z=cumsum(y);%计算y的累积和。

clf

plot(z)%画出z的第1,2,3,...等的值。

9.25000步随机游走

n=5000;%选取步数。

x=rand(n,1);%生成均匀分布随机数。

y=2*(x>0.5)-1;%转换这些数到为-1和+1。

z=cumsum(y);%计算y的累积和。

clf

plot(z)%画出z的第1,2,3,...等的值。

9.3复杂随机数游走

clearall;closeall;clc

n=70000;%游走的步数。

也是图像中像素个数,有些位置可能重复,所以白像素小于等于n

x=0;%初始x坐标

y=0;%初始y坐标

pix=zeros(n,2);%游走产生的像素坐标

neighbour=[-1-1;-10;-11;0-1;01;1-1;10;11];%当前像素邻域

fori=1:

n

r=floor(1+8*rand());%八邻域随机选一个来走

y=y+neighbour(r,1);%y方向游走

x=x+neighbour(r,2);%x方向游走

pix(i,:

)=[yx];%保存坐标

end

miny=min(pix(:

1));%图像坐标不可能为负,所以找最小值再整体提升为正

minx=min(pix(:

2));%同上

pix(:

1)=pix(:

1)-miny+1;%像素坐标整体变为正

pix(:

2)=pix(:

2)-minx+1;

maxy=max(pix(:

1));%找最大坐标值,为开辟图像做准备

maxx=max(pix(:

2));

img=zeros(maxy,maxx);%根据maxy、maxx产生图像

fori=1:

n%将游走的值赋给图像

img(pix(i,1),pix(i,2))=1;

end

imshow(img)

9.4二维随机游动模拟

n=90000;

colorstr=['b''r''g''y'];

fork=1:

4

z=2.*(rand(2,n)<0.5)-1;

x=[zeros(1,2);cumsum(z')];

col=colorstr(k);

plot(x(:

1),x(:

2),col);

holdon

end

Grid

9.5三维随机游动模拟

p=0.5;

n=9000;

colorstr=['b''r''g''y'];

fork=1:

4

z=2.*(rand(3,n)<=p)-1;

x=[zeros(1,3);cumsum(z')];

col=colorstr(k);

plot3(x(:

1),x(:

2),x(:

3),col);

holdon

end

Grid

四、实验结果

1、两点分布

2、二项式分布

3、泊松分布

4、几何分布

5、泊松过程仿真

5.1ans=

0.65090.6509

2.40613.0570

0.10023.1572

0.12293.2800

0.82334.1033

0.24634.3496

1.90746.2570

0.47836.7353

1.34478.0800

0.80828.8882

5.2

5.3

6、泊松过程

possion(2,1,500)

possion(2,10,500)

possion(2,100,500)

7、布朗运动

7.1一维布朗运动

7.2二维布朗运动

7.3三维布朗运动

8、马尔科夫平稳分布

8.1p=0.2

8.2P=0.5

8.3P=0.8

8.4P=1

9、随机数游走

9.1100步随机游走

9.25000步随机游走

9.3复杂随机数游走

9.4二维随机数游走

9.5三维随机数游走

五、实验总结

通过这几次随机过程的上机实验,更加深了对在随机过程课堂上的学习内容,而且有重新学习了了matlab环境及应用,熟悉Matlab工作环境,计算Markov链的n步转移概率矩阵和Markov链的平稳分布,用Matlab产生服从各种常用分布的随机数,调用matlab自带的一些常用分布的分布律或概率密度,模拟随机游走,模拟Brown运动的样本轨道的模拟以及Markov过程的模拟。

通过实验,还让我重新认识到,理论知识的学习和上机实践相结合的重要性,能顺利成功的把实验做出来,这二者是缺一不可的,对我自己再以后的学习以及人生当中都有着重要的意义。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 国外设计风格

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1