用python做蒙特卡洛仿真算法
用python做蒙特卡洛仿真算法
- 在(0,1)区间里随机取两个数,求它们的差值小于0.5的概率。请编写python 程序,利用蒙特卡罗仿真方法来求解该问题。
- 在(0,1)区间里随机取两个数,求它们的平方和小于1的概率。请编写python 程序,利用蒙特卡罗仿真方法来求解该问题。
- 假设一个班上有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做蒙特卡洛仿真算法相关推荐
- Python运用蒙特卡洛算法模拟植物生长
(细胞二次分裂呈现对称分布) 细胞到生物.胚胎生长曲线.发展模式是随意形成的吗?为什么大多数人都是两只眼睛,很少出现三眼神童?我相信分形数学的进化一定会重新揭开生命的秘密.就像一把开启潘多拉的魔盒的钥 ...
- chatgpt赋能python:Python做仿真模拟:一种高效、灵活、易用的工具
Python做仿真模拟:一种高效.灵活.易用的工具 介绍 随着计算机技术的不断进步,仿真模拟已成为许多学科研究中不可缺少的工具之一.在许多领域,例如物理.生物.经济等,都需要使用仿真模拟的技术来预测. ...
- python能做机器人吗_最火的Python语言也能做机器人仿真,你会不?
原标题:最火的Python语言也能做机器人仿真,你会不? 最近接到好多刚踏出大学的学弟学妹们的问候,面临人生中的第一次求职,可有感觉自己没在学校学到一技之长,但又不想随便找份工作将就,那这种情况下该怎 ...
- python做算法题优势_Python语言在科学算法中的优势
2019 年第 4 期 信息与电脑 China Computer & Communication 算法语言 Python 语言在科学算法中的优势 刘 瑞 (辽宁师范大学海华学院,辽宁 沈阳 1 ...
- 用python写搜索引擎_用python做一个搜索引擎(Pylucene)的实例代码
1.什么是搜索引擎? 搜索引擎是"对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集.信息整理和用户查询三部分".如图1是搜索引擎的一般结构,信息搜集模块从网络采集信 ...
- python实现洗牌算法_洗牌算法及 random 中 shuffle 方法和 sample 方法浅析
对于算法书买了一本又一本却没一本读完超过 10%,Leetcode 刷题从来没坚持超过 3 天的我来说,算法能力真的是渣渣.但是,今天决定写一篇跟算法有关的文章.起因是读了吴师兄的文章 <扫雷与 ...
- python实现快排算法(quicksort)
python实现快排算法(quicksort) 快速排序是对冒泡排序的一种改进.它的基本思想是:通过一次排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后 ...
- python数据结构推荐书-「算法与数据结构」从入门到进阶吐血整理推荐书单
推荐一下「算法与数据结构」从入门到进阶的书单. 一.入门系列 这些书籍通过图片.打比方等通俗易懂的方法来讲述,让你能达到懂一些基础算法,线性表,堆栈,队列,树,图,DP算法,背包问题等,不要求会实现, ...
- python可以做什么系统-用python做推荐系统(一)
一.简介: 推荐系统是最常见的数据分析应用之一,包含淘宝.豆瓣.今日头条都是利用推荐系统来推荐用户内容.推荐算法的方式分为两种,一种是根据用户推荐,一种是根据商品推荐,根据用户推荐主要是找出和这个用户 ...
- python科学计算基础教程pdf下载-用Python做科学计算 高清晰PDF
用Python做科学计算一书介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D.3D图像:如何设计精巧的程序界面:如何和C语言所编写的高速计算程序 ...
最新文章
- 计算机网页设计布局与排版研究,论计算机网页设计的布局与排版
- php 复选框 数组,php数组的复选框
- Dev控件使用 - 皮肤
- 013_Slider滑块
- 用route命令解决Wifi和网卡不能同时上内外网问题
- 乙肝疫苗该怎么打(转)
- 利用虚拟硬盘(把内存当作硬盘)来提高数据库的效率(目前只针对SQL Server 2000)可以提高很多...
- js中立即执行函数会预编译吗_JavaScript预编译过程
- elementUI使用
- aws docker_如何使用Docker的功能来摆脱AWS Lambda函数的困境
- STM32 BOOT 引脚配置
- c++ 字符串拼接_源码上看 .NET 中 StringBuilder 拼接字符串的实现
- 没有钱,能做什么呢?(转载)
- Java怎么实现文件数据拷贝
- 蓝桥杯 ADV-239 算法提高 P0102
- 如何利用全新的决策树集成级联结构gcForest做特征工程并打分?
- PLSQL Developer使用
- 物联网工业串口转WiFi模块 无线路由WiFi模块的选型
- 【python小练习】彩票系列-七乐彩
- node.js接入微信公众号开发