基于MATLAB的布丰投针实验仿真_第1页
基于MATLAB的布丰投针实验仿真_第2页
基于MATLAB的布丰投针实验仿真_第3页
基于MATLAB的布丰投针实验仿真_第4页
基于MATLAB的布丰投针实验仿真_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

系统建模与仿真 题目:Buffon实验的仿真 院系: 电子工程学院专业:信息对抗技术班级:姓名:余颖智学号:指导老师:刘洋完成时间:2015年4月西安电子科技大学基于MATLAB的投针实验仿真摘要在求证圆周率的过程中经过割圆术后,出现的投针试验以求出圆周率,目前利用MATLAB数学建模的仿真实验,运用到计算机中,简化其随机实验的操作量大,运算慢等特点。不同针距相同实验量运算后得出不同的,其针距与线间距离相等,所得值接近于。目录摘要2二、实验内容4三、建模流程图4四、程序主要代码5五、运行结果5六、结论6一、实验原理1777年法国科学家布丰提出的一种计算圆周率的方法随机投针法,即著名的布丰投针问题。该投针实验主要有如下三个步骤:(一)取一张白纸,在上面画许多条间距为a的平行线;(二)取一根长度为l(la)的针,随机地向画有平行直线的纸上掷n次,观察针与直线相交的次数,记为m;(三)计算针与直线相交的概率。而布丰本人证明了这个概率是p=2l/(a),为圆周率。二、 实验内容运用MATLAB仿真软件进行求圆周率的模拟。1. 用GUI设计实验。2. 设取变量n为实验次数,a为相邻两直线间的距离,l为针长,角为针与直线相交时所呈的夹角,frequency为相交频率,Pi即为所求圆周率。3. 编写程序代码达到实验目的,求圆周率。三、 建模流程图 结束输出Pi=2*l/(a*frequency)frequency = counter/ncounter = counter+1判断相交产生位置随机数x产生角度随机数初始化程序四、程序主要代码str(handles.edit1,string); %取得变量,定义变量,变量初始化n = str2double(str); str = get(handles.edit2,string);l = str2double(str);str = get(handles.edit3,string);a = str2double(str);counter = 0; %变量初始化phi = 0;frequency = 0;Pi = 0;x = unifrnd(0,a/2,1,n);%产生n个(0,a/2)之间均匀分布的随机数,这里a/2是投针的中点到最近的平行线的距离phi = unifrnd(0,pi,1,n);% 产生n个(0,pi)之间均匀分布的随机数,这里pi是投针与最近平行线的角度for i=1:n if x(i)l*sin(phi(i)/2 % 只要x小于l*sin(phi(i)/2,则针与平行线相交 counter = counter+1; endendfrequency = counter/n; % 计算相交的频率,即相交次数比总投针次数Pi = 2*l/(a*frequency) % 从相交的频率求Pi五、运行结果显示六、结论由于想要达到实验者自己设置投针次数的目的,故而没有设置精度,即精度由系统决定,导致最终实验结果不是很理想,概率性事件,每次实验都会有一些偏差。没有设置高精度,因此计算速度较为稳定,但是实验次数虽然可以自定,也不能设置

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论