利用有放回抽样估计自然常数e python
利用有放回抽样估计自然常数e python
- 运行结果
- 代码
有放回抽样中,当抽样次数n等于样本数量,且趋近于正无穷时,一个数字没有被抽到的概率如下
limn→∞(1−1n)n=1e\lim_{n \to \infty} (1-\frac{1}{n} )^n=\frac{1}{e} n→∞lim(1−n1)n=e1
可以利用这一点估计e的值
由于我暑假闲的无聊,想巩固一下学的python,故写了三种不同的版本,分别利用集合set,字典dict,还有numpy的ndarray
一开始用的字典,发现python是真的慢,1e8线性时间复杂度都要用上个十几秒
我还以为是我打开方式不对,尝试了三种版本后发现都要十几秒,最后又一次直观的感受到了python的慢
运行结果
代码
字典版
import pandas as pd
import numpy as np
import time
time_start = time.time() # 记录开始时间
d={}
n=10000000
cnt=0
for i in range(n):num=random.randint(0,n-1)if d.get(num,0)==0:d[num]=1else:cnt=cnt+1
print(n/cnt)
time_end = time.time() # 记录结束时间
time_sum = time_end - time_start # 计算的时间差为程序的执行时间,单位为秒/s
print(time_sum)
numpy版
import pandas as pd
import numpy as np
import time
time_start = time.time() # 记录开始时间
n=10000000
d=np.zeros(n, dtype = int)
cnt=0
for i in range(n):num=random.randint(0,n-1)if d[num]==0:d[num]=d[num]+1else:d[num]=d[num]+1cnt=cnt+1
print(n/cnt)
time_end = time.time() # 记录结束时间
time_sum = time_end - time_start # 计算的时间差为程序的执行时间,单位为秒/s
print(time_sum)
set版
import pandas as pd
import numpy as np
import time
time_start = time.time() # 记录开始时间
n=10000000
d=set()
for i in range(n):num=random.randint(0,n-1)d.add(num)
print(n/(n-len(d)))
time_end = time.time() # 记录结束时间
time_sum = time_end - time_start # 计算的时间差为程序的执行时间,单位为秒/s
print(time_sum)
利用有放回抽样估计自然常数e python相关推荐
- 如何利用python画三棱锥_微积分,英文版数学书,Calculus,积分,Excel,自然常数e,Python,泰勒展开...
标题写的挺长的. 我是个学渣,念过大学,学过高数,学的时候不甚懂,工作中也没实践,仅有的一点粗浅概念早就还给老师了. 因为儿子即将开始学前教育,未雨绸缪,我开始研究现在的义务教育有些什么内容,不知不觉 ...
- python:自然常数 e =2.71828
python:自然常数 e 开n次方 print_e.py # coding=utf-8 import math # 自然常数 e #e = 2.71828 e = math.e print('e=' ...
- 练习:试炼自然常数e
Python 官网:https://www.python.org/ Free:大咖免费"圣经"教程< python 完全自学教程>,不仅仅是基础那么简单-- My CS ...
- PX4飞控中利用EKF估计姿态角代码详解
PX4飞控中利用EKF估计姿态角代码详解 PX4飞控中主要用EKF算法来估计飞行器三轴姿态角,具体c文件在px4\Firmware\src\modules\attitude_estimator_ekf ...
- julia自然常数_Julia中的Sys.KERNEL常数
julia自然常数 Julia| 系统内核常数 (Julia | Sys.KERNEL Constant) Sys.KERNEL is a constant of the Symbol type in ...
- python如何并发运行2个软件_如何利用并发性加速你的python程序(二):I/O 绑定程序加速...
原标题:如何利用并发性加速你的python程序(二):I/O 绑定程序加速 雷锋网 AI 科技评论按,本文是工程师 Jim Anderson 分享的关于「通过并发性加快 python 程序的速度」的文 ...
- python分数类_利用标准库fractions模块让Python支持分数类型的方法详解
前言 你可能不需要经常处理分数,但当你需要时,Python的Fraction类会给你很大的帮助.本文将给大家详细介绍关于利用标准库fractions模块让Python支持分数类型的相关内容,分享出来供 ...
- python利用公式计算_从零开始用Python构造决策树(附公式、代码)
来源:Python中文社区 作者:weapon 本文长度为700字,建议阅读5分钟 本文介绍如何不利用第三方库,仅用python自带的标准库来构造一个决策树. 起步 熵的计算: 根据计算公式: 对应的 ...
- 我们数学中常用的自然常数e代表什么?看完长知识了!
我们在学习期间都接触过自然常数e,也知道e ≈ 2.718,学过极限的同学应该也知道 那么大家知道e的含义是什么吗?为啥叫"自然常数"? e的含义可以用一个计算利息的例子来解释. ...
- 微积分review 极限,迫敛性,极限四则运算,自然常数来历
微积分review 极限,迫敛性,极限四则运算,自然常数来历 只能证明 (1+1/n)^n : 1.是递增的: 2.是有界的. 然后命名它为e,不是证明出来的,而是定义出来的: lim (1+1/n) ...
最新文章
- 【从零学习openCV】opecv操作像素
- 字符串的第n个排列的算法
- java1.8之supplier
- Java Spring Data Redis实战与配置参数详解 application.properties...
- mysql去掉秒杀场景_秒杀场景下mysql减库存逻辑优化
- 【机卓14蒋海平-U201411018】机电传动控制课程-《自动化技术中的进给电气传动》第一章的1.1节和1.2节——读书笔记整理...
- STM32 ADC转换实验
- Vue第二部分(4): 嵌套路由和路由传参
- java 页面级缓存_用CashFilter实现页面级缓存实践
- php如何安装源码包,php源码包安装步骤是什么
- B样条曲线(B-spline Curves)
- 电力载波通信了解笔记
- 计算机启动太慢可以设置什么来加速启动速度,电脑开机启动慢怎么办?教你4种设置方法,轻松加快win10开机速度!...
- 学会如何学习 - 成为更好的终身学习者
- 【Redis】Linux安装Redis步骤详细讲解,以及make、make install区别
- windows编程之WM_MENUSELECT消息
- 计算机等级良好和优秀是什么意思?
- word里双横线怎么打_word文档横线怎么打
- 电商项目-购物车(合并购物车问题)
- L298n控制步进电机
热门文章
- JAVA关于父亲节的代码_关于父亲节的祝福语
- 企业微信第三方应用添加好友
- excel多个表格数据汇总怎么做?
- 2022-12-24 三阶魔方完整教程和口诀速记,二级魔方教程
- 读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数。
- 记一次笔记本win键失灵 不能用 windows 徽标键失灵
- C语言入门——常见数据类型取值范围
- 论文整理:Probabilistic Logic Neural Networks for Reasoning
- (CCTV2视频)中国动画80年
- 【容斥原理】(AtCoder Regular Contest 093 F) Dark Horse