由于要做ppt这里把自己的代码先暂时放上来,不当之处请多指正!

实验过程:
1)取一张白纸,在上面画上许多条间距为a的平行线。
2) 取一根长度为l(l≤a) 的针,随机地向画有平行直线的纸上掷n次,观察针与直线相交的次数,记为m。
3)计算针与直线相交的概率.
•因为投掷位置是随机的,所以采用随机变量模拟投到纸上的位置与角度。记针y轴最低点坐标为y,与x轴所成夹角为θ(θ ∈[0,90度];
•只要样本量足够大,就可以用来估算圆周率。
•这里固定平行线间距,设定为1000单位。
•对于实验采用的是1000000次一组,共做1000次模拟,从第一组实验每一组针长一次加1
•因为在y轴上具有周期性,这里暂时只考虑针最低点y坐标y∈[0,1000)的情况。

•所以只要y+l*sinθ>1000,投针就与平行线相交。

投针模拟示意图:

代码如下:

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define PI 3.14159265
double p[1000];//用于记录实验数据,p即概率pi//
int main()
{double x,y,place,count,all=0;int i,l;srand((unsigned) time(NULL));// 随机数初始化 // for(l=0;l<1000;l++)//1000次针长实验 // {count=0;for(i=0;i<1000000;i++)// 每组实验做一百万次 // {y=(l+1)*1.0*sin(rand()*1.0/(RAND_MAX+1)*PI/2.0);//y用于记录针在y轴方向的投影长// place=1000*rand()*1.0/((RAND_MAX+1)*1.0);//place用于记录最低点坐标// if((y+place-1000.0)>=0)// 相交了就记录成功一次 // count++;}p[l]=2000*(l+1)*1.0/(count*1.0);//根据蒲丰投针概率公式 η= 2 * l/ a * π计算 // }for(i=0;i<1000;i++)all+=p[i];printf("%lf\n",all/1000); //取均值// return 0;} 

由于是粗略实验,可能误差会比较大。

其次就是鸡生蛋问题:我要求π但是我在算的时候π就已经知道了(大雾)

接下来给出结果:

蒲丰投针实验的一些理解相关推荐

  1. 一文读懂蒲丰投针实验

    这个博客源于概率论复习期间,蒙特卡罗方法的思想起源,这种求π\piπ的思路非常的巧妙 附:历史上用蒲丰投针实验估计圆周率的实验记录,来源 蒲丰投针 蒲丰投针实验是法国数学家.自然科学家"乔治 ...

  2. 强化学习 蒲丰投针实验 蒙特卡洛算法

    目录 一.蒲丰投针实验 1.1背景故事 1.2原理介绍 二.蒙特卡洛方法 2.1方法介绍 2.2经验轨迹 2.3在线学习与离线学习 2.4数学原理 一.蒲丰投针实验 1.1背景故事 1777年,蒲丰请 ...

  3. Matlab模拟蒲丰投针实验计算Π值

    文章目录 1.前言 2.实验目的 3.实验原理 (1)问题描述 (2)问题求解 4.实验过程 5.实验结果 6.实验结论 7.Matlab代码 1.前言 学习了概率论,决定自己动手编程实现蒲丰投针实验 ...

  4. 蒲丰投针计算机模拟ppt,蒲丰投针实验模课件.doc

    概率论与数理统计实验 蒲丰投针与蒙特卡罗法 班级 应数12级01班 学号 2012444086 姓名 张旭东 蒲丰投针与蒙特卡罗法 张旭东 2012444086 (重庆科技学院 数学与应用数学 ,重庆 ...

  5. 【游戏仿真实验】Unity仿真蒲丰投针实验,丢针计算圆周率,丢了一百万次针得出的结果是...

    文章目录 一.前言 二.制作场景 1.制作针模型 2.桌面制作 3.平行线制作 三.物理仿真 1.桌面无反弹 2.针掉落 3.针滚动问题 4.针架到平行线上的问题 5.针与针相互影响的问题 四.UI界 ...

  6. 计算机投针实验程序,蒲丰投针实验SAS程序

    投针实验 data a; do i=1 to 5000; /*实验5000次*/ pi=constant('pi');/*得出pi真实值*/ x=0.5*ranuni(0);/*产生随机数,a=1*/ ...

  7. 利用蒲丰投针实验求π/c语言

    //dsd的概率论大作业 平面上画着两条间距a的平行线,随机地向此平面任投掷一长度为l ( l < a )的针N次,观察针与直线相交的次数记为n,计算此针与直线相交的概率. 以x表示针的中点距离 ...

  8. 蒲丰投针与蒙特卡洛模拟

    昨天突然看到了蒲丰投针实验,于是想看看到底是怎么推导出来的,baidu上搜索了一下,发现就这篇文章写的比较好,而且也简单的讲解了一下蒙特卡洛方法,在此推荐之! 蒲丰投针与蒙特卡洛模拟.pdf 转载于: ...

  9. 蒲丰投针计算机模拟ppt,蒙特卡罗模拟课件.ppt

    <蒙特卡罗模拟课件.ppt>由会员分享,提供在线免费全文阅读可下载,此文档格式为ppt,更多相关<蒙特卡罗模拟课件.ppt>文档请在天天文库搜索. 1.蒙特卡洛模拟数学实验之前 ...

最新文章

  1. 你还在用GDB调试程序吗?
  2. 汇编语言随笔(8)-实验9(显示字符串)、实验10(子程序:除法溢出,数值到字符串的转换)和课程设计1
  3. 多核CPU上python多线程并行的一个假象(转)
  4. STL(1)——查找函数find的使用
  5. Linux之route命令
  6. python字符串驻留机制_python的内存驻留机制(小数据池)
  7. 自定义分页信息java_java-displaytag自定义分页
  8. mysql数据库的基本管理
  9. ORA-01722:invalid number
  10. 010 《你不理财,财不理你》读书笔记
  11. 公司要抽奖活动?50行Python代码制作了一个转盘抽奖小程序
  12. JAVA串口通信开发
  13. 2022陈箫箫胡程灿信息论课程作业 MIMO信道(multi-input multi-output,MIMO)简介
  14. maya linux 安装教程视频,Maya快捷键插件增强工具ZooTools Pro 2.2.4 for Maya Win/Linux+ Assets pack 2.3+视频教程...
  15. 预先下载的keras库中神经网络模型指定存放路径及如何上传的问题
  16. 中断优先级和中断线程优先级
  17. Oracle的软件产品是用什么开发出来的
  18. python爬虫:爬取所有车标图片保存本地
  19. 视觉增强词向量:我是词向量,我开眼了!
  20. 钉钉第三方登录,多地址授权

热门文章

  1. 已知三维空间的三个点,如何计算对应三角形的外心
  2. 什么是通用微处理器、单片机、DSP芯片、嵌入式系统?
  3. 函数变量命名翻译助手工具下载及教程
  4. html easyui怎么实现折叠面板,Easyui Accordion 折叠面板_EasyUI 插件
  5. 在BIOS中开启vt-x无效的解决方法
  6. 在Excel表中快速的标记出重复数据详细步骤
  7. Linux--文本三剑客
  8. 合伙创业如何分配股权
  9. 全国高校人工智能与大数据创新联盟,首推云创高校大数据与人工智能实验室建设方案...
  10. 双轮载人平衡车设计完整教程之软件篇