1701009670
对比图8-4和图8-8可知,图8-4在一头雾水的情况下,胡乱的随机走到下脚处x0,而采用计算机精确计算,其最优路线如图8-8所示,这个结果,完全是可以接受的。
1701009671
1701009672
计算机计算结果是能指导盲人下山的,大家可以根据该计算结果,不断地通过指南针定位经纬度,从而实现快速的下山。
1701009673
1701009674
1701009675
1701009676
1701009678
我和数学有约:趣味数学及算法解析 8.3 Galton钉板实验
1701009679
1701009680
Galton钉板试验是英国生物统计学家Galton设计的,具体的工况如图8-9所示。
1701009681
1701009682
1701009683
1701009684
1701009685
图8-9 Galton钉板试验工况
1701009686
1701009687
为了较清晰地研究该问题,如图8-10示,在一板上钉有n=5排钉子,图8-10中15个圆点表示15颗钉子,在钉子的下方有n+1个格子,编号分别为0,1,2,…,n。从Galton钉板的上方扔进一个小球任其自由下落,在下落的过程中当小球碰到钉子时,从左边落下与从右边落下的机会相等。碰到下一排钉子时又是如此。最后落入底板中的某一个格子,图中用一条折线显示小球下落的一条轨迹。
1701009688
1701009689
1701009690
1701009691
1701009692
图8-10 模拟Galton钉板试验
1701009693
1701009694
【问题】向Galton钉板扔进一个小球,显然不能预测小球会落到哪一个格子,如果不断重复扔进过程,将会发生什么结果呢?
1701009695
1701009696
【分析】
1701009697
1701009698
(1)采用计算机模拟Galton钉板试验,具体实现过程如下。
1701009699
1701009700
①确定钉子的位置。将钉子的横、纵坐标存储在一个矩阵中;
1701009701
1701009702
1701009703
②模拟了小球从顶端随机地落入某一格子的过程。设向右的概率为p,向左的概率为q=1-p;将[0,1]分成两段,区间[p,p]和(p,1]。利用rand[ ]产生一个介于0和1之间的随机数u,如果随机数,让小球落向左边,否则落向右边;将这一过程重复n次,并用直线连接小球落下时所经过的点。
1701009704
1701009705
1701009706
③模拟小球堆积的形状。输入扔球次数m,计算落在第i个格子的小球数mi在总球数m中所占的比例,这样当模拟结束时,就得到了频率,用频率反映小球堆积的形状。
1701009707
1701009708
④利用movie完成实时动画设计,观察每一次实验结果。
1701009709
1701009710
选取p=0.5,编写MATLAB程序如下:
1701009711
1701009712
clc,clear,close all %清屏和清除变量 warning off %消除警告 %Galton钉板试验 %设置参数 m = 100; n=6; y0=2; ballnum = zeros(1,n+1); %初始化设置 p=0.5; %概率 q=1-p; figure(‘color’,[1,1,1]) %设置图形背景为白色 for i=n+1
:-1:1 %创建钉子的坐标x,y x(i,1)=0.5*(n-i+1); y(i,1) = (n-i+1)+y0; for j=2
:i x(i,j)=x(i,1)+(j-1)*1; y(i,j)=y(i,1); end end mm =moviein(m); for i=1
:m s=rand(1,n); %产生n个随机数 xi=x(1,1); yi=y(1,1); k=1;l=1; for j=1
:n plot(x(1
:n,:),y(1:n,:),‘o’,x(n+1,
:),y(n+1,
:),’.-‘); %画钉子的位置 axis([-2,n+2,0,y0+n+1]) hold on k=k+1; if s(j)
:n],ballnum1) axis([-2,n+2,0,y0+n+1]) %画各格子的频率 mm(i)=getframe; hold off %放弃图形保持句柄 end movie(mm,1) %播放动画一次
1701009713
1701009714
运行程序输出图形如图8-11和图8-12所示。
1701009715
1701009716
1701009717
1701009718
图8-11 运动模拟1 图8-12 运动模拟2 (2)用二项分布描述Galton钉板模型,具体实现过程如下。
1701009719
[
上一页 ]
[ :1.70100967e+09 ]
[
下一页 ]