MATLAB模拟布丰投针实验

标签(空格分隔): 算法


Buffon's Needle

桌面上有距离为a的若干平行线,将长度为L的针随机丢在桌面上,则这根针与平行线相交的概率是多少?假定L < a.
思路:从针据横线的距离与夹角得出。
解决:

  1. 假设针的中点到最近横线的距离为y,则\(y\in[0,\frac{a}{2}]\);
  • 因为投针是随机的,所以y服从均匀分布:

\[ f(y) = \begin{cases} \frac{2}{a}, & \text{$0 \leq y \leq \frac{a}{2}$} \\ 0, & \text{others} \end{cases} \]

  1. 假定横线向右为正向,记投针与横线正向的角为\(\theta\),则\(\theta \in[0, \pi]\),为均匀分布。
    \[ f(\theta) = \begin{cases} \frac{1}{\pi}, & \text{$0 \leq \theta \leq \pi$} \\ 0, & \text{others} \end{cases} \]
    投针与横线有交点,即\(y \leq \frac{L}{2}sin\theta\)

布丰投针估算\(\pi\) -- 蒙特卡罗模拟

针与横线有交点的概率:
\(P(x) = \int_{0}^{\pi}\int_{0}^{\frac{L}{2}sin\theta}f(y,\theta)dyd\theta = \int_{0}^{\pi}\int_{0}^{\frac{L}{2}sin\theta}f(y)f(\theta)dyd\theta \\ = \int_{0}^{\pi}\int_{0}^{\frac{L}{2}sin\theta}\frac{2}{a} * \frac{1}{\pi}dyd\theta = \frac{2L}{a\pi}\)

如果做n次投针实验,其中有k次针与横线相交,则针与横线相交的频率为:\(\frac{k}{n}\),根据大数定理,频率也就为概率。
$ \frac{2L}{a\pi} \approx \frac{k}{n}$ 即, \(\pi \approx \frac{2Ln}{ak}\)

MATLAB模拟实验

用布丰投针实验近似计算\(pi\)的值:
代码如下:

l = 0.6; %针的长度
a = 1; %平行线的宽度
n = 1000000; %做n次投针试验
k = 0; %记录针与平行线相交的次数
y = unifrnd(0, a/2, 1, n); %在[0, a/2]内服从均匀分布随机产生n个数
theta = unifrnd(0, pi, 1, n); %在[0, pi]内服从均匀分布随机产生n个数
for i=1:nif y(i) < (l/2)*sin(theta(i)) k = k + 1;end
end
f = k / n;
Pi = (2*l*n)/(a*k);

结果如图所示:

如此进行多次实验,进行估计。
如图为进行100次重复投针实验,每次投针1000000次,结果如图所示:

转载于:https://www.cnblogs.com/little-YTMM/p/5685139.html

MATLAB模拟布丰投针实验相关推荐

  1. 布丰投针java实现,MATLAB模拟布丰投针实验

    MATLAB模拟布丰投针实验 标签(空格分隔): 算法 Buffon's Needle 桌面上有距离为a的若干平行线,将长度为L的针随机丢在桌面上,则这根针与平行线相交的概率是多少?假定L < ...

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

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

  3. 蒲丰投针实验原理_布丰投针实验 MATLAB仿真 以及报告

    布丰投针实验原理.仿真过程以及 MATLAB仿真代码.完整的布丰投针实验报告. 以下内容无关: -------------------------------------------分割线------ ...

  4. 用一根线模拟浦丰投针实验——Java

    用一根线模拟浦丰投针实验--Java 浦丰投针实验(Buffon's needle problem)   本文先给出正确的推理过程,错误的推导过程放在文章末尾,方便大家探讨.   不多废话,直奔主题. ...

  5. R语言对布丰投针(蒲丰投针)实验进行模拟和动态可视化生成GIF动画

    最近我们被客户要求撰写关于动态可视化的研究报告,包括一些图形和统计输出. 介绍 布丰投针是几何概率领域中最古老的问题之一.它最早是在1777年提出的.它将针头掷到有平行线的纸上,并确定针和其中一条平行 ...

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

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

  7. 布丰投针试验的仿真和误差估计

    布丰投针试验 一.试验原理 1.试验步骤 2.理论概率及π\piπ的计算与误差 二.Python代码的实现 一.试验原理 1.试验步骤 ​ 1.选一个长度为lll的针.再选取一张白纸,上面划分许多平行 ...

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

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

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

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

最新文章

  1. Nat. Genet. | 基于遗传学主导的方法定义免疫相关性状的药物靶标
  2. iOS根据Debug和Release状态的变化来屏蔽日志输出
  3. kafka备份机制——zk选举leader,leader在broker里负责备份
  4. Celery 使用(一)
  5. id int primary key auto_increment是什么意思
  6. 前端学习(2948):webpack创建简单项目
  7. 西门子安装未找到ssf文件_V5.3安装时显示NO SSF FILE FOUND对话框,我该怎么解决啊? 谢谢!-工业支持中心-西门子中国...
  8. jq之animate()队列
  9. 在linux下使用360随身wifi 2 | 李凡希的blog,在Linux下使用“360随身WiFi 2”
  10. java对象前后改变_java对象改变而不设置它们
  11. python字典创建,删除,增加,合并等方法的调用
  12. How To Replace The Firefox Icon With Your Logo
  13. 软件测试人员如何在“金三银四”跳槽季找到理想工作?
  14. mysql的驱动connect放在哪里_MySQL的JDBC驱动程序下载地址
  15. Devexpress GridView 提交焦点列
  16. 运维自动化部署Cobbler之服务安装篇
  17. 信息安全技术及应用 常规加密技术
  18. 罗克韦尔Studio5000遇上西门子Process Simulate:数字化仿真与虚拟调试案例
  19. xslx-style导出,表头样式表格样式,指定条件
  20. ProxySQL 排错 Max connect timeout reached while reaching hostgroup 10 after 10000ms

热门文章

  1. Android studio的下载和安装
  2. 枸杞功效多,这样吃效果翻倍
  3. 凯云水利水电工程造价系统 (三) 材料单价 (2)
  4. 金工如何运用计算机思维,金工的实习心得体会
  5. R语言实现数据按照行排序
  6. 有关“iusb3mon.exe已停止工作”的解决方法与我解决这个问题的坑爹经历。
  7. 什么是软件测试?零基础入门知识要点总结篇,5分钟带你快速了解
  8. ssm校园社团平台毕业设计源码251554
  9. 计算机pe教程,u启动windows7PE工具箱
  10. 拉上谷歌高通 三星围攻苹果