用python做蒙特卡洛仿真算法

  1. 在(0,1)区间里随机取两个数,求它们的差值小于0.5的概率。请编写python 程序,利用蒙特卡罗仿真方法来求解该问题。
  2. 在(0,1)区间里随机取两个数,求它们的平方和小于1的概率。请编写python 程序,利用蒙特卡罗仿真方法来求解该问题。
  3. 假设一个班上有30名同学,都是1997年出生,问其中至少有两名同学生日相同的概率是多少?(假设没有平年和闰年的区别,一年只有365天)请编写python
    程序,利用蒙特卡罗仿真方法来求解该问题。
    问题1代码:
    思路:
    在0到1之间打一万个点
    找出他们之间差值小于0.5的点数
    求出他们的比值即为概率
DARTS=10000
hits=0.0
for i in range(1,DARTS+1):x,y=random(),random()dis=abs(x-y)if dis<0.5:hits=hits+1
p=hits/DARTS
print("求出的值为{}".format(p))
print("理论值{}".format(0.75))

问题二代码:
思路:
跟上述问题类似,这里可以求出圆的面积所占的百分比

from random import random
import math
def x():DARTS = 10000hits = 0.0for i in range(1, DARTS + 1):x, y = random(), random()dis = x * x + y * yif dis < 1:hits = hits + 1p = (hits / DARTS)print("求出的值为{}".format(p))print("理论值为{}".format(math.pi / 4))
if __name__=="__main__":x()

问题3代码:思路
利用向类似的方法,并且去重复可以用集合,
从而判断是否有人的生日是否是同一天

from random import randint
import math
DARTS=10000
hits=0.0
for i in range(1,DARTS+1):a = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]b = set()for m in range(30):a[m]=randint(1,365)for j in range(30):b.add(a[j])if len(b)<30:hits=hits+1
p=hits/DARTS
print("求出的值为{}".format(p))
s=1.0
for i in range(0,30):s*=(365-i)/365
print("理论值是{}".format(1-s))

理论值:

Lab1.1 理论值: 0.75

Lab1.2 理论值:pi / 4

Lab1.3 理论值:自己算法吧

用python做蒙特卡洛仿真算法相关推荐

  1. Python运用蒙特卡洛算法模拟植物生长

    (细胞二次分裂呈现对称分布) 细胞到生物.胚胎生长曲线.发展模式是随意形成的吗?为什么大多数人都是两只眼睛,很少出现三眼神童?我相信分形数学的进化一定会重新揭开生命的秘密.就像一把开启潘多拉的魔盒的钥 ...

  2. chatgpt赋能python:Python做仿真模拟:一种高效、灵活、易用的工具

    Python做仿真模拟:一种高效.灵活.易用的工具 介绍 随着计算机技术的不断进步,仿真模拟已成为许多学科研究中不可缺少的工具之一.在许多领域,例如物理.生物.经济等,都需要使用仿真模拟的技术来预测. ...

  3. python能做机器人吗_最火的Python语言也能做机器人仿真,你会不?

    原标题:最火的Python语言也能做机器人仿真,你会不? 最近接到好多刚踏出大学的学弟学妹们的问候,面临人生中的第一次求职,可有感觉自己没在学校学到一技之长,但又不想随便找份工作将就,那这种情况下该怎 ...

  4. python做算法题优势_Python语言在科学算法中的优势

    2019 年第 4 期 信息与电脑 China Computer & Communication 算法语言 Python 语言在科学算法中的优势 刘 瑞 (辽宁师范大学海华学院,辽宁 沈阳 1 ...

  5. 用python写搜索引擎_用python做一个搜索引擎(Pylucene)的实例代码

    1.什么是搜索引擎? 搜索引擎是"对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集.信息整理和用户查询三部分".如图1是搜索引擎的一般结构,信息搜集模块从网络采集信 ...

  6. python实现洗牌算法_洗牌算法及 random 中 shuffle 方法和 sample 方法浅析

    对于算法书买了一本又一本却没一本读完超过 10%,Leetcode 刷题从来没坚持超过 3 天的我来说,算法能力真的是渣渣.但是,今天决定写一篇跟算法有关的文章.起因是读了吴师兄的文章 <扫雷与 ...

  7. python实现快排算法(quicksort)

    python实现快排算法(quicksort) 快速排序是对冒泡排序的一种改进.它的基本思想是:通过一次排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后 ...

  8. python数据结构推荐书-「算法与数据结构」从入门到进阶吐血整理推荐书单

    推荐一下「算法与数据结构」从入门到进阶的书单. 一.入门系列 这些书籍通过图片.打比方等通俗易懂的方法来讲述,让你能达到懂一些基础算法,线性表,堆栈,队列,树,图,DP算法,背包问题等,不要求会实现, ...

  9. python可以做什么系统-用python做推荐系统(一)

    一.简介: 推荐系统是最常见的数据分析应用之一,包含淘宝.豆瓣.今日头条都是利用推荐系统来推荐用户内容.推荐算法的方式分为两种,一种是根据用户推荐,一种是根据商品推荐,根据用户推荐主要是找出和这个用户 ...

  10. python科学计算基础教程pdf下载-用Python做科学计算 高清晰PDF

    用Python做科学计算一书介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D.3D图像:如何设计精巧的程序界面:如何和C语言所编写的高速计算程序 ...

最新文章

  1. 计算机网页设计布局与排版研究,论计算机网页设计的布局与排版
  2. php 复选框 数组,php数组的复选框
  3. Dev控件使用 - 皮肤
  4. 013_Slider滑块
  5. 用route命令解决Wifi和网卡不能同时上内外网问题
  6. 乙肝疫苗该怎么打(转)
  7. 利用虚拟硬盘(把内存当作硬盘)来提高数据库的效率(目前只针对SQL Server 2000)可以提高很多...
  8. js中立即执行函数会预编译吗_JavaScript预编译过程
  9. elementUI使用
  10. aws docker_如何使用Docker的功能来摆脱AWS Lambda函数的困境
  11. STM32 BOOT 引脚配置
  12. c++ 字符串拼接_源码上看 .NET 中 StringBuilder 拼接字符串的实现
  13. 没有钱,能做什么呢?(转载)
  14. Java怎么实现文件数据拷贝
  15. 蓝桥杯 ADV-239 算法提高 P0102
  16. 如何利用全新的决策树集成级联结构gcForest做特征工程并打分?
  17. PLSQL Developer使用
  18. 物联网工业串口转WiFi模块 无线路由WiFi模块的选型
  19. 【python小练习】彩票系列-七乐彩
  20. node.js接入微信公众号开发

热门文章

  1. vue引入百度地图使用JavaScript API GL渲染点位的图片
  2. 计算机解决最小二乘法的过程,线性最小二乘法在计算机化学中的应用.doc
  3. Django登录并使用LDAP认证
  4. python 全国内地高风险地区数量查询与可视化(分省)
  5. INVT英威腾GD200A系列变频器使用PID实现恒压供水功能的相关参数设置及接线
  6. 项目管理十大知识领域之项目相关方管理
  7. (原创)Lottie动画使用介绍
  8. SVN工具的安装和使用
  9. Android Studio创建AVD教程
  10. AMBA_AXI总线详解