模拟蒙特卡罗方法计算圆周率

2023-11-16

使用蒙特卡罗方法计算出圆周率,并输出程序运行的时间,以及画出散点图。

import random as r#调用random库
import time as t#调用time库
import math#调用math库
import matplotlib.pyplot as plt#调用matplotlib库

num =0#记录在单位圆内的点数
number=100000#表示总共模拟的点数
time_1=t.time()#记录开始时间
x_list = []#产生空的列表用于后面记录x
y_list = []#产生空的列表用于后面记录y

for i in range(number):#使用for循环模拟number这个点
    x=r.random()#产生0到1之间的随机数并赋值给x
    y=r.random()#产生0到1之间的随机数并赋值给y
    z=math.sqrt(x**2+y**2)#计算产生的点到原点的距离
    if z<=1:#判断z,如果z小于1,则该点在圆内
        num=num+1#只要点在圆内则num加一
        x_list.append(x)#x坐标记录到x_list中
        y_list.append(y)#y坐标记录到x_list中
print("Pi={}".format(num/number*4))#输出得到的圆周率
plt.scatter(x_list, y_list, s=1)#使用scatter函数绘制散点图
plt.show()#显示绘制的图形
time_2=t.time()#产生结束时间
print("Time={:.6f}s".format(time_2-time_1))#输出程序运行的时间

产生如下的结果:

Pi=3.13492
Time=1.017492s

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

模拟蒙特卡罗方法计算圆周率 的相关文章

随机推荐

  • SVN相关

    svn更新失败提示cleanup的解决方法 问题解决 https blog csdn net study4034 article details 80656882 注意关闭unity SVN更新后提示 One or more files a
  • 卷(二)C++___二刷

    Chapter 8 Type Conversion and Function Overloading 8 1 Implicit type conversion coercion The integer value 3 might be st
  • 合宙Air103

    基础资料 基于Air103开发板 Air103 LuatOS 文档 上手 开发上手 LuatOS 文档 探讨重点 对官方SPI FLASH demo中功能的复现 进行相关内容的学习及探讨 实现功能 功能 lua快速驱动 W25QXX XX代
  • windows:自定义内网ip后无法上网

    有可能能是ip冲突
  • Markdown给公式添加编号

    Markdown给公式添加编号 a 2 b 2 c 2 tag 1 2 由公式 1 2 即可得到结论
  • Eureka集群原理

    问题 微服务RPC远程服务调用最核心的是什么 高可用 试想你的注册中心只有一个only one 它出故障了那就呵呵o o了 会导致整个微服务环境不可用 解决办法 搭建Eureka注册中心集群 实现负载均衡 故障容错 Eureka集群的原理
  • c语言之字符串数组

    还是在写图的存储结构的时候 遇到了问题 就是如何在一个数组中存放字符串 我相信这个问题 对于面向对象的编程语言来说 轻而易举 比如对于Java来说 直接像下面就可以了 但是c语言没有String这个类型 能想到存放字符串的数据类型就是cha
  • 千万级SQL Server数据库表分区的实现

    一般在千万级的数据压力下 分区是一种比较好的提升性能方法 本文将介绍SQL Server数据库表分区的实现 AD 最近使用SQL SERVER一个的缓存 数据量一天100w的速度增长 同时接受客户查询 速度由于数据量越来越大越来越慢 这里感
  • vue3+ts 时间戳转日期格式

    时间戳转换成日期格式 调用 timestampToTime 1680498539 日期补0 const getzf num number string number gt const numShow string number num lt
  • EXCEL 做的购订单管理系统

    EXCEL 做的购订单管理系统 需要的下载 采购订单管理系统 01 总体说明 1 本系统主要用于采购订单以及付款管理 可进行供应商信息 产品信息的基础信息维护 可录入采购明细对采购金额进行付款 可对采购按照产品和采购日期范围查询 对采购明细
  • memset和memset_s

    void memset void s int ch size t n 函数解释 将s中前n个字节 typedef unsigned int size t 用 ch 替换并返回 s memset 作用是在一段内存块中填充某个给定的值 它是对较
  • TTransportException: java.net.ConnectException: Connection refused: connect异常

    看视频学用Thrift时遇到的 环境 win7 thrift 0 12 0 python37 jdk1 8 IDE IJ PC 本机java客户端 连 本机python服务器 部分代码 serverSocket TSocket TServe
  • 数据挖掘-数据探索(EDA)

    数据探索 EDA Exploratory Data Analysis 1 EDA的作用 EDA的作用主要在于熟悉并了解数据集 对数据集进行处理 以便接下来机器学习或者深度学习使用 了解数据集之后 接下来就是了解数据集中各变量间的相互关系 变
  • 2020年6月100篇最新GAN论文汇总

    点击上方 机器学习与生成对抗网络 关注 星标 获取有趣 好玩的前沿干货 戳我 查看GAN的系列专辑 据不完全统计 GAN在CVPR2020上超115篇之多 其中 可看到GAN在朝着无监督 自监督 弱监督 半监督 少样本 单样本 零样本 多模
  • 2024王道408数据结构P144 T16

    2024王道408数据结构P144 T16 思考过程 首先看题目 要求我们把二叉树的叶子结点求出来并且用链表的方式存储 链接时用叶结点的右指针来存放单链表指针 我们很清楚可以看出来能用中序遍历 递归的方式实现 因为第一个叶子结点在整棵树的最
  • Android中拍照和录像功能

    目前Android中有很多项目需要实现拍照及录像功能 通常都使用camera和sufaceView实现 整个过程较为繁琐 并且代码量比较大 偶然在github上发现一个很好用的框架 在这里做一个简单介绍 后附github地址 gif 原项目
  • SpringBoot——整合Mongodb

    简单介绍 Mongdb是一个开源 高性能 无模式的文档型数据库 NoSQL数据库产品中的一种 是最像关系型数据库的非关系型数据库 使用场景 用户数据 存储位置 数据库 特征 永久性存储 修改频率极低 游戏装备数据 存储位置 数据库 Mong
  • 2023华为od机试 Java实现【关联子串】

    题目 我们有两个字符串 分别叫做 str1 和 str2 现在规定 如果 str1 的排列组合只要有一个是 str2 的子串 我们就称str1是str2的关联子串 请返回子串在str2的起始位置 若不是关联子串则返回 1 示例1 输入输出示
  • jvm垃圾回收

    为什么需要垃圾回收 首先这个问题的话 主要因为内存是计算机中比较宝贵的财富 如果堆积的对象过多 可想而知 内存会用尽 出现内存溢出的问题 这也就是为什么需要垃圾回收的原因 对什么区域进行回收 jvm中的内存结构中 虚拟机栈 本地方法栈 程序
  • 模拟蒙特卡罗方法计算圆周率

    使用蒙特卡罗方法计算出圆周率 并输出程序运行的时间 以及画出散点图 import random as r 调用random库 import time as t 调用time库 import math 调用math库 import matpl