首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

蒙特卡洛法

简介

蒙特卡洛方法的名字来源于摩纳哥的一个城市蒙特卡洛,该城市以赌博业闻名,而蒙特卡洛方法正是以概率为基础的方法。 蒙特卡洛方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。

计算圆周率

蒙特卡洛法计算圆周率,主要使用概率的方法逼近圆周率。做法如下:

1. 在边长为1的正方形做半径为1的1/4圆;

2. 随机多次向正方形内投递针(计算机使用随机数模拟),并且统计出落在半圆内部的针个数。

3. 计算圆周率

编写python程序求圆周率

通过增加投递针的总次数得到以下数据:

蒙特卡洛法为概率模拟的方法,使用相同的程序,投递相同次数,得到的结果也不一定会相同。但大体上随着投递次数的增加,计算的结果更加准确。

计算简单定积分

使用蒙特卡洛法计算定积分:

与以上计算方法基本相同,做边长为1的正方形,做出抛物线,图形如下

编程求解积分

输出结果为:

同样可以发现,随着投递次数的增加,定积分的值非常接近1/3

总结

蒙特卡洛法是一种计算机模拟法解决数学问题,可以看到由于计算的发明,对数学发展产生了很大影响。学习编程其实也是很有意思的事情。后续会讲Python的学习课程,希望大家关注。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180519G07GJT00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券