matlab钉子链条,MatLab的Galton钉板问题训练报告 终极版

该博客介绍了一个使用编程实现Galton钉板实验的详细过程,包括确定钉子位置、模拟小球随机下落、计算堆积比例以及创建动画效果。通过输入小球数量和概率值,程序能够展示小球按泊松分布堆积的动态过程,帮助理解概率分布的原理。
摘要由CSDN通过智能技术生成

【No.1】:动画模拟Galton 钉板试验

1) 确定钉子的位置。将钉子的横、纵坐标存储在一个矩阵中;

2) 模拟了小球从顶端随机地落入某一格子的过程。设向右的概率为p ,向左的概率为q=1-p ;将[0,1]分成两段,区间[0,p]和(p,1]。利用rand[]产生一个介于0和1之间的随机数u ,如果随机数u p [0,]∈,让小球落向左边,否则落向右边;将这一过程重复n 次,并用直线连接小球落下时所经过的点。

3) 模拟小球堆积的形状。输入扔球次数m ,计算落在第i 个格子的小球数i m 在总球数m 中所占的比例,这样当模拟结束时,就得到了频率i m i m

f i n ,0,1,2,...,==,

用频率反映小球堆积的形状。 4) 利用movie 完成动画。 5)程序代码: clear; clc; clf;

m=input('请输入小球的个数:'); n=5;

y0=2;

ballnum=zeros(1,n+1); %生成1*(n+1)全零阵

p=input('请输入概率P 的值(0.5最佳):'); %设置向左的概率 q=1-p;

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

s=rand(1,n); %产生n 个随机数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值