布丰投针java实现,MATLAB模拟布丰投针实验
MATLAB模拟布丰投针实验
标签(空格分隔): 算法
Buffon's Needle
桌面上有距离为a的若干平行线,将长度为L的针随机丢在桌面上,则这根针与平行线相交的概率是多少?假定L < a.
思路:从针据横线的距离与夹角得出。
解决:
假设针的中点到最近横线的距离为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}
\]
假定横线向右为正向,记投针与横线正向的角为\(\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:n
if y(i) < (l/2)*sin(theta(i))
k = k + 1;
end
end
f = k / n;
Pi = (2*l*n)/(a*k);
结果如图所示:
如此进行多次实验,进行估计。
如图为进行100次重复投针实验,每次投针1000000次,结果如图所示:
多普勒失真信号采样Matlab模拟分析
多普勒失真信号采样Matlab模拟分析 方案 水声通信指的是使用声信号在水中数据传输. 相对而言.电磁信号在水中吸收严重衰减过快,光信号受水中悬浮颗粒的影响,也无法完毕远距离传输. 这两种信号的传播距 ...
模拟生产搭建Standby RAC实验环境(11.2.0.4 DG)
模拟生产搭建Standby RAC实验环境(11.2.0.4 DG) 环境:RHEL 6.5 + Oracle 11.2.0.4 GI.DB 1.需求背景介绍 2.准备工作 3.主库配置 4.备库配置 ...
csdn vip文章:使用matlab模拟镜头失真
布丰投针java实现,MATLAB模拟布丰投针实验相关推荐
- MATLAB模拟布丰投针实验
MATLAB模拟布丰投针实验 标签(空格分隔): 算法 Buffon's Needle 桌面上有距离为a的若干平行线,将长度为L的针随机丢在桌面上,则这根针与平行线相交的概率是多少?假定L < ...
- Matlab模拟蒲丰投针实验计算Π值
文章目录 1.前言 2.实验目的 3.实验原理 (1)问题描述 (2)问题求解 4.实验过程 5.实验结果 6.实验结论 7.Matlab代码 1.前言 学习了概率论,决定自己动手编程实现蒲丰投针实验 ...
- 【物理应用】基于Matlab模拟杨氏双孔干涉实验
1 内容介绍 根据光的双缝干涉实验理论,利用MATLAB编写程序对双缝干涉实验进行模拟,绘制出双缝干涉的图样和光强分布曲线,并且同步计算出相应的条纹间距和对比度,直观地展现了单色光的双缝干涉这一物理现 ...
- 用一根线模拟浦丰投针实验——Java
用一根线模拟浦丰投针实验--Java 浦丰投针实验(Buffon's needle problem) 本文先给出正确的推理过程,错误的推导过程放在文章末尾,方便大家探讨. 不多废话,直奔主题. ...
- matlab模拟简单孔径衍射图样,夫琅和费衍射实验文献综述
夫琅和费衍射就是光源和观察幕离障碍物(孔或屏)均为无穷远的衍射现象,又称远场衍射,在实际操作中,可通过一个凸透镜,将无穷远处的衍射图样移至凸透镜的像方焦面上观察.可在观察幕中央看到一条特别明亮的亮条纹 ...
- matlab磁铁模拟,用matlab 模拟环形磁铁的磁场分布
<用matlab 模拟环形磁铁的磁场分布>由会员分享,可在线阅读,更多相关<用matlab 模拟环形磁铁的磁场分布(10页珍藏版)>请在人人文库网上搜索. 1.MATLAB模拟 ...
- java时钟时针绘制代码,Java实现动态模拟时钟
搜索热词 本文实例为大家分享了java动态模拟时钟的具体代码,供大家参考,具体内容如下 应用名称:java动态模拟时钟 用到的知识:javaGUI,java 绘图 开发环境:win10+eclipse ...
- 利用matlab模拟光学简单空间滤波系统,空间滤波应用举例
1906年为验证这一理论所做的实验,科学地说明了成像质量与系统传递的 空间频谱之间的关系 .1935年策尼克(Zenike)提出的相衬显微镜是空间滤波技术早期最成功的应用.... 第10章-空间滤波 ...
- Java 使用 URLConnection 模拟 Http Get和Post 提交
2019独角兽企业重金招聘Python工程师标准>>> Java 使用 URLConnection 模拟 Http Get和Post 提交. 1.URLConnectionHelpe ...
最新文章
- python中国大学排名爬虫写明详细步骤-【Python爬虫】从html里爬取中国大学排名...
- boost::iostreams::detail::execute_all用法的测试程序
- 【LeetCode笔记】5.最长回文子串(Java、动态规划、字符串)
- docker开放的端口_docker-5-解决宿主机没有开放81端口却可以直接访问docker启动的81端口nginx容器的问题...
- Android一个漂亮的日历组件源码
- 使用Redux-Saga进行异步操作
- 原生js和jquery常用的DOM操作
- 【PDF】PDF文件分页拆分(免费方法)
- 未来已来!域乎“区块链+产业应用赋能精英论坛”成功举办
- 7z001怎么解压在安卓手机上面_安卓手机来电闪光灯怎么设置
- 亮剑java web_为什么《亮剑Java Web 项目开发案例导航》第二个项目运行不了?
- 随机搜索(Random Searching)算法
- SEE 中的数据结构及之间的关系
- React之HOC(高阶组件)
- WOT讲师杨钊:人工智能将在不同应用场景逐步落地
- MEM/MBA数学强化(04)方程 函数 不等式
- Windows Embedded Compact 7可定制化互联网电视
- 向爱康投稿:读《浪潮之巅》,听潮起潮落
- 计算机硬件故障检测实验报告,计算机系统的硬件检测实验报告
- OCR文字识别笔记总结