蒙特卡洛(Monte Carlo)方法求面积

如图,刷微博时,看到一个问题,第一个想到的就是用蒙特卡洛方法求解,当时正在练python,于是尝试用python编写程序。

 1 import random
 2 # 先求s1
 3 k=0
 4 n=100000000
 5 for i in range(n):
 6     x=random.uniform(0,10)
 7     y=random.uniform(0,10)
 8     if ((x-5)**2+(y-5)**2>25) and (y<-2*x+20):
 9         k=k+1
10     else: k=k
11
12 s1=(k/n)*100
13
14 #求s2
15 import math
16 s2=(10*10-math.pi*25)/4
17
18 s=s1+s2
19 print("k=",k)
20 print("s2=",s2)
21 print("s1=",s1)
22 print("s=",s)       

原文地址:https://www.cnblogs.com/xiyouzhi/p/9600666.html

时间: 2024-10-01 00:29:37

蒙特卡洛(Monte Carlo)方法求面积的相关文章

蒙特卡罗方法(Monte Carlo method)

蒙特卡罗方法(Monte Carlo method) 蒙特卡罗方法概述   蒙特卡罗方法又称统计模拟法.随机抽样技术,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或更常见的伪随机数)来解决很多计算问题的方法.将所求解的问题同一定的概率模型相联系,用电子计算机实现统计模拟或抽样,以获得问题的近似解.为象征性地表明这一方法的概率统计特征,故借用赌城蒙特卡罗命名. 蒙特卡罗方法的提出   蒙特卡罗方法于20世纪40年代美国在第二次世界大战中研制原子弹的"曼哈顿计划&qu

Monte carlo

转载 http://blog.sciencenet.cn/blog-324394-292355.html 蒙特卡罗(Monte Carlo)方法,也称为计算机随机模拟方法,是一种基于"随机数"的计算方法. 1.起源 这一方法源于美国在第二次世界大战进研制原子弹的"曼哈顿计划".Monte Carlo方法创始人主要是这四位:Stanislaw Marcin Ulam, Enrico Fermi, John von Neumann(学计算机的肯定都认识这个牛人吧)和 N

MCMC(Markov Chain Monte Carlo) and Gibbs Sampling

MCMC(Markov Chain Monte Carlo) and Gibbs Sampling 1.   随机模拟 随机模拟(或者统计模拟)方法有一个很酷的别名是蒙特卡罗方法(Monte Carlo Simulation).这个方法的发展始于20世纪40年代,和原子弹制造的曼哈顿计划密切相关,当时的几个大牛,包括乌拉姆.冯.诺依曼.费米.费曼.Nicholas Metropolis, 在美国洛斯阿拉莫斯国家实验室研究裂变物质的中子连锁反应的时候,开始使用统计模拟的方法,并在最早的计算机上进行

(转)Monte Carlo method 蒙特卡洛方法

转载自:维基百科  蒙特卡洛方法 https://zh.wikipedia.org/wiki/%E8%92%99%E5%9C%B0%E5%8D%A1%E7%BE%85%E6%96%B9%E6%B3%95 蒙特卡洛方法[编辑] 维基百科,自由的百科全书 蒙特卡洛方法(英语:Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法.是指使用随机数(或更常见的伪随机数)来解决很多

编写一个矩形类,私有数据成员为矩形的长( len)和宽(wid),wid设置为0,有参构造函数设置和的值,另外,类还包括矩形的周长、求面积、取矩形的长度、取矩形的长度、取矩形的宽度、修改矩形的长度和宽度为对应的形参值等公用方法。

class Rectangle { private double len, wid; public Rectangle()//求矩形周长 { len = 0; wid = 0; } public Rectangle(int l, int w)//求矩形面积 { len = l; wid = w; } public double perimeter()//求周长 { return ((len + wid) * 2); } public double area()//求面积 { return (le

Monte Carlo Approximations

准备总结几篇关于 Markov Chain Monte Carlo 的笔记. 本系列笔记主要译自A Gentle Introduction to Markov Chain Monte Carlo (MCMC) 文章下给出的链接. Monte Carlo Approximations Monte Carlo Approximation for Integration 理论部分 蒙特卡洛方法是用来近似计算积分的,通过数值方法也可以计算积分:最简单的近似方法是通过求小矩边梯形的面积再累加.但是当函数的

[matlab]Monte Carlo模拟学习笔记

理论基础:大数定理,当频数足够多时,概率可以逼近频率,从而依靠频率与$\pi$的关系,求出$\pi$ 所以,rand在Monte Carlo中是必不可少的,必须保证测试数据的随机性. 用蒙特卡洛方法进行计算机模拟的步骤:[1] 设计一个逻辑框图,即模拟模型.[2] 根据流程图编写程序,模拟随机现象.可通过具有各种概率分布的模拟随机数来模拟随机现象.[3] 分析模拟结果,计算所需要结果. ex1.投针试验求$\pi$ %蒲丰投针实验的计算机模拟 format long; %设置15位显示精度 a=

Introduction to Monte Carlo Tree Search (蒙特卡罗搜索树简介)

 部分翻译自“Monte Carlo Tree Search and Its Applications”. MCTS 结合了传统 MC 随机采样的方法 和 树搜索的方法.MC 方法利用重复的随机采样来得到结果.在 MCTS 中,随机采样的过程是在随机模拟的形式中,用来拓展游戏树.该游戏树紧接着别用来决定下一个 move.MCTS 随着游戏树迭代的生长.每一次迭代,game tree 就 traversed 和 expanded.一段时间之后,game tree 就会收敛.这意味着在每次迭代中都

计算几何_求面积_辛普森积分公式

附上一道水(模板)题 https://vjudge.net/problem/HDU-1724 和一道我认为卡精度要命的题(当然 是用这个方法被卡得要命的...) https://vjudge.net/problem/HDU-5858 /* %.17f的答案 附上 HDU-5858的答案   : 0.29276251905757444 /*----3-----0.291392339817989400.292569054978422560.292698501204644800.29275620952