欢迎来到天天文库
浏览记录
ID:40616611
大小:34.86 KB
页数:7页
时间:2019-08-05
《随机走动-附matlab程序仿真》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、信息与随机性报告随机走动(1)随机走动回到零点的概率a.一维随机走动:假设有一只青蛙,它处在一维坐标系的零点处,有1/2的概率向左跳,有1/2的概率往右跳。向左跳,坐标减1,向右跳,坐标加1。进行10000次试验,青蛙走的最大步数为10000。程序;clearallclc;b=0;fori=1:10000;a=0;forj=1:10000x=rand;ifx>0.5a=a+1;elsea=a-1;endifa==0;pp=j;b=b+1;break;endendendreturn1=b/10000;%返回的概率运行结果:返回的概率为99.12%,因此可
2、以认为,一维随机走动一定会回到原点。b.二维随机走动:假设青蛙处在二维坐标系中,每一次走动它向上向下向左向右移动的概率均为1/4,考虑它能回到原点的概率。进行1000次试验,青蛙走的最大步数为1000000。程序:clearallclc;total=0;fori=1:1000;a=0;b=0;forj=1:1000000x=rand;y=rand;ifx>0.5;x=1;elsex=-1;endify>0.5a=a+x;elseb=b+x;endifa==0&&b==0;pp=j;total=total+1;break;endendendreturn2
3、=total/1000;%返回的概率运行结果:可以看到,青蛙回到原点的概率为97.63%,因此可以认为在二维随机走动中,青蛙一定是可以回到原点的。c.三维随机走动:假设青蛙处在三维坐标系中,每一次走动它移动的方向有八个,每个方向的概率为1/8,考虑它能回到原点的概率。进行1000次试验,青蛙走的最大步数为100000。程序:clearallclc;total=0;fori=1:1000;a=0;b=0;c=0;forj=1:100000x=rand;y=rand;ifx>0.5;x=1;elsex=-1;endify>0.667a=a+x;elseif
4、y>0.333b=b+x;elsec=c+x;endendifa==0&&b==0&&c==0;pp=j;total=total+1;break;endendendreturn3=total/100;%返回的概率运行结果:可以看到,在这种情况下,青蛙回到原点的概率为33.8%。与前两种情况不同,青蛙不一定会回到原点,当增加青蛙最大步数的时候,回到原点的概率依然在34%左右。(1)一维随机走动回到原点所需的步数在(1)中我们知道了一维随机走动是一定会回到原点的,现在继续研究回到原点所需要的步数。通过对程序的测试,发现当随机走动的步数控制在100以内时,青
5、蛙总能回到原点。因此设置最大步数为100,进行10000次试验,统计青蛙第一次回到原点时的步数。程序:clearallclc;fori=1:10000;a=0;forj=1:100x=rand;ifx>0.5a=a+1;elsea=a-1;endifa==0;pp=j;break;endendy(i)=pp;endt=tabulate(y)q=t(:,1);p=t(:,3);k=t(:,2);stem(q,p);xlabel('步数');ylabel('次数');title('一维随机走动')运行结果:可以看出:1.青蛙在第二步时回来的概率最大,并且超
6、过50%。2.青蛙在偶数步时有可能回来,奇数步时无法回来。3.在30步以内,青蛙回来的概率大于5%,可以认为青蛙一定回到原点。(1)一维随机走动的均方差与均值青蛙的停留位置与走动的步数有关,在这里我们观察与统计青蛙走动偶数步时停留位置的均方差与均值。给定走动的步数从2到100,每种步数进行10000次试验,统计最终停留位置的均方差与均值。程序:clearallclc;fork=1:50fori=1:10000;a=0;forj=1:k*2x=rand;ifx>0.5a=a+1;elsea=a-1;endendy(i)=a;endjunfang=var(
7、y);junzhi=mean(y);dd(k)=sqrt(junfang);ff(k)=junzhi;endk=2:2:100;stem(k,dd);figure(2);stem(k,ff);结果:
此文档下载收益归作者所有