⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drop_process.m

📁 钉子实验的源程序,有动画演示过程,比较精致
💻 M
字号:
clear,clf,m=100;n=5;y0=2;      %设置参数
ballnum=zeros(1,n+1);          %记录球落入格子的频率
p=0.5;q=1-0.5;
for i=n+1:-1:1                          %设置钉子的位置
    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                            %模拟扔球m次
    s=rand(1,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)>p
            l=l+0;                                 %小球向左移
        else
            l=l+1;                                 %小球向右移
        end
        xt=x(k,l);yt=y(k,l);                       %小球下落点的坐标
        h=plot([xi,xt],[yi,yt]);axis([-2 n+2 0 y0+n+1])  %画小球运动轨迹
        xi=xt;yi=yt;
    end
    ballnum(l)=ballnum(l)+1;      %统计落入各个格子的球数
    ballnum1=3*ballnum./m;
    bar([0:n],ballnum1),axis([-2 n+2 0 y0+n+1])%画各格子的频率图                                        
    mm(i)=getframe;               %存储动画数据
    hold off
end
movie(mm,1,2)                        
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -