精华内容
下载资源
问答
  • 张子豪 同济大学蒙特卡洛方法计算自然常数e蒙特卡洛方法计算自然常数e原理曲面四边形面积即为积分之后的值原理:用蒙特卡洛方法随机在左图矩形方格中撒点,统计y=1/x内外点的个数,由几何概型,估算出曲线下曲面...

    蒙特卡洛方法是一种用野蛮粗暴的蛮力对抗精致数学的一种计算思维,能够将复杂数学问题转化为简单粗暴的重复步骤,在工程上有很多应用。我还用蒙特卡洛方法计算了圆周率,请看我另一篇博客。

    张子豪 同济大学

    107d97423e6b

    蒙特卡洛方法计算自然常数e

    107d97423e6b

    蒙特卡洛方法计算自然常数e

    原理

    107d97423e6b

    曲面四边形面积即为积分之后的值

    原理:用蒙特卡洛方法随机在左图矩形方格中撒点,统计y=1/x内外点的个数,

    由几何概型,估算出曲线下曲面四边形的面积。

    同时,由定积分可算出这部分面积为ln2,即e**(估算出的面积)== 2,即可求出e。

    撒点越多,e的计算值也越来越趋近2.71828的真实值。

    源代码

    # 张子豪 2019-3-14

    import random

    import matplotlib.pyplot as plt

    import numpy as np

    DARTS = 1024*1024 # 总共撒点的个数

    counts = 0 # 落在曲线下方的点数

    e = 0 # e的计算值

    xs = [0,0]

    ys = [0,0]

    # 开始画左边的图:撒点估计曲线下方的面积

    plt.subplot(121)

    x = np.arange(0.5,2.5,0.001)

    plt.ylim(0,1.25) # y轴坐标范围

    plt.xlabel('x') # x轴标签

    plt.ylabel('y') # y轴标签

    plt.plot(x,1/x) # 绘制反比例函数曲线

    plt.legend(loc=1) # 在右上角增加图例

    plt.legend(['y = 1 / x']) # 图例的内容

    plt.plot([1,1,2,2],[0,1,1,0],'r',linewidth=0.2) # 绘制撒点范围框

    for i in range(DARTS):

    x = random.uniform(1,2)

    y = random.uniform(0,1)

    if y < 1/x: # 点落在曲线下方

    counts += 1

    plt.subplot(121)

    plt.plot(x,y,'g.')

    else: # 点落在曲线上方

    plt.subplot(121)

    plt.plot(x,y,'r.')

    if counts>0:

    e = pow(2,i/counts)

    # 开始画右边的图:e的计算值随投掷次数的关系

    plt.subplot(122)

    xs[0] = xs[1] # 上一个e值与下一个e值,通过xs与ys列表中的两个元素进行两点连线

    xs[1] = i

    ys[0] = ys[1]

    ys[1] = e

    plt.ylim(0,4.5) # y轴坐标范围

    plt.xlabel('Number of try') # x轴标签

    plt.ylabel('Estimation of e') # y轴标签

    plt.yticks(np.arange(0,4.5,0.5)) # y轴刻度线

    plt.title('e:{:.10f}\ncount:{}'.format(e,i)) # 图的标题动态更新

    plt.axhline(np.e,linewidth=0.05,color='r') # 绘制2.71828参考线

    plt.plot(xs,ys,'b--',linewidth=0.3) # 绘制e的计算值随撒点次数变化的曲线

    plt.ion() # 保持图像处于交互更新状态

    plt.pause(0.2) # 控制撒点速度

    可视化

    107d97423e6b

    蒙特卡洛方法计算自然常数e

    展开全文
  • 自然常数e在这躲着呢! 说好的复利呢?说好的 呢?说好的 呢? 本着计算机是高速计算的傻子原则,我启用了python 卧槽!!! 指数完美切换为幂,学渣的我无耻地再次百度了 NND!!!我仿佛已经勉强跟上了一个叫泰勒...

    标题写的挺长的。

    我是个学渣,念过大学,学过高数,学的时候不甚懂,工作中也没实践,仅有的一点粗浅概念早就还给老师了。

    因为儿子即将开始学前教育,未雨绸缪,我开始研究现在的义务教育有些什么内容,不知不觉就超纲了,又看到了微积分部分。

    看了一下面熟的中文教材,和多年前第一次看到时的感觉差不多,每个字都认识,合在一起就不知道在说什么了。

    中文的看不懂,那就看英文的吧(拈花一笑),反正现在翻译网站挺多的。

    Calculus出现了,眼熟,好像和计算器Calculator有点像(万里长征第一步)。万能的互联网,找到词源,calculus——小石头,用于计算的小石头(与手指计算10以内的加减法有异曲同工之妙)。

    0a59d0113829d460e8589d1920d25301.png

    找到儿子的积木,装作是小石头calculus

    c7adb449ffdbee43fe1ce1999c437bf0.png

    1cb1a6fecac63805d789657f82412e4c.png

    开始积分:

    1.打开Excel

    2.在A1输入“1”,下拉到A10。得到一串1,得到:1.1.1.1.1.1.1.1.1.1

    3.在B1输入“=sum(a$1:a1)”,下拉到B10。得到:1.2.3.4.5.6.7.8.9.10

    4.在C1输入“=sum(b$1:b1)”,下拉到C10。得到:1.3.6.10.15.21.28.36.45.55

    5.在D1输入“=sum(c$1:c1)”,下拉到D10。得到:1.4.10.20.35.56.84.120.165.220

    6.在E1输入“=sum(d$1:d1)”,下拉到E10。得到:1.5.15.35.70.126.210.330.495.715

    7.在F1输入“=sum(e$1:e1)”,下拉到F10。得到:1.6.21.56.126.252.462.792.1287.2002

    1111111111和12345678910看着还是眼熟的,其他就有点懵了,不过仔细看整个阵列,有

    对称的美!

    试试找出表达式,姑且称111111111111......n为0次积分,因为是初始,还没积分过

    0次积分:任意位置的值

    ,哈哈,简单

    1次积分:任意位置的值

    ,还是非常简单

    2次积分:任意位置的值

    ,仿佛看到了
    高斯同学在算1+2+3+......+100=?

    3次积分:任意位置的值C=???

    学渣用百度,

    4次积分:任意位置的值C=???

    观察1次积分,2次积分,3次积分表达式,发现1次时C=n/1!,2次时C=n(n+1)/2!,3次时C=n(n+1)(n+2)/3!,4次积分表达式是否应该为C=n(n+1)(n+2)(n+3)/4!呢?代入excel试算一下,果然是!

    想起了《寒战》中的一句话:”假设如果不大胆一点,什么时候大胆啊?“

    1!,2!,3!,4!是阶乘,分别是1,2,6,24,感谢Christian Kramp

    另:0!=1,好神奇,以前不懂,现在略微有点感悟

    5次积分:任意位置的值

    ,按图索骥

    整理一下:

    ......

    表达式里老是有(n+1),(n+2)之类的,挺讨厌的,观察

    ,如图

    c7adb449ffdbee43fe1ce1999c437bf0.png

    不就是个锯齿三角形嘛,把ABCDEF的左上角都切掉,那就变平滑三角形了,切了多少呢?每个方块切一半,共有n个方块(三角形底边的长度),那就是切了

    ,代入C2式得

    ,三角形面积公式得出(微笑)

    类推(太胆假设):

    ,三棱锥体积公式得出(傻笑)

    再次整理,m次积分的表达式为:

    变换成比较熟悉的类型

    积分得到
    ,再积分得到
    ,再积分得到
    ,再积分得到
    ,再积分得到
    ,......

    第一次觉得积分好有趣!!!

    既然那么有趣,就把积分进行到底吧,一切能积的都试试,比如:

    系数!!!

    1+1+0.5+0.167+0.04167+......

    偶...卖...糕...的,2.7182818......,数学真的这么神奇吗?

    自然常数e在这躲着呢!

    说好的复利呢?说好的

    呢?说好的
    呢?

    本着计算机是高速计算的傻子原则,我启用了python

    6b13d92257325ad4616b6038d3e62b4f.png

    卧槽!!!

    指数完美切换为幂,学渣的我无耻地再次百度了

    NND!!!我仿佛已经勉强跟上了一个叫泰勒的人的脚步了

    有个不恰当的比喻,扶手电梯的台阶不断下降,但扶手电梯还是扶手电梯,看不出任何变化,其实还是有变化的。

    作为一个学渣,能理解到这一步,我很欣慰!!!

    有空我会继续挑战一下

    割圆法求pi

    0f03b69abf2e97907fb4e31e4ec4f987.png

    138bfd7c6c63ad1037579da2895a7c76.png
    展开全文
  • 自然常数e

    2017-03-08 09:51:00
    2019独角兽企业重金招聘Python工程师标准>>> ...

    数学中有许多重要的常数,例如圆周率π和虚数单位i(等于根号负一)。但数学中还有一个同样重要的常数,那就是自然常数e,尽管没有圆周率那么为人所熟知。

    这个常数经常出现在数学和物理学之中,但它从哪里来?它究竟是什么意思?

    自然常数e:原来是这么来的

    在18世纪初,数学大师莱昂哈德?欧拉(Leonard Euler)发现了这个自然常数e(又称欧拉数)。

    当时,欧拉试图解决由另一位数学家雅各布·伯努利(Jacob Bernoulli)在半个世纪前提出的问题。

    伯努利的问题与复利有关。假设你在银行里存了一笔钱,银行每年以100%的利率兑换这笔钱。一年后,你会得到(1+100%)^1=2倍的收益。

    自然常数e:原来是这么来的

    现在假设银行每六个月结算一次利息,但只能提供利率的一半,即50%。在这种情况下,一年后的收益为(1+50%)^2=2.25倍。

    而假设银行每月提供8.3%(100%的1/12)复利息,或每周1.9%(100%的1/52)复利息。在这种情况下,一年后你会赚取投资的(1+1/12)^12 = 2.61倍和(1 1/52)^52 = 2.69倍。

    根据这个规律,可以得到一条通式。如果假设n为利息复利的次数,那么利率就是其倒数1/n。一年后的收益公式为(1+1/n)^n。例如,如果利息每年复利5次,那收益则为初始投资的(1+1/5)^5 = 2.49倍。

    那么,如果n变得很大,会怎样?如果n变得无限大,那(1+1/n)^n是否也会变得无限大?这就是伯努利试图回答的问题,但直到50年后才由欧拉最终获得结果。

    原来,当n趋于无穷大时,(1+1/n)^n并非也变得无穷大,而是等于2.718281828459……这是一个类似于圆周率的无限不循环小数(即无理数),用字母e表示,被称为自然常数。

    自然常数e:原来是这么来的

    当然,e不是一个随意数字。事实上,它是数学中最有用的常数之一。如果绘制方程y = e^x,就会发现,对于曲线上任何点的斜率也是e^x,而从负无穷大到x的曲线下方面积也是e^x。e是唯一使y = n^x这个方程有如此奇特性质的数字。

    在微积分中,可以想象e也是一个非常重要的数字。同时,自然常数e也是物理学中的一个重要数字,它通常出现在有关波(如光波、声波和量子波)的方程之中。

    此外,关于e还有一个非常著名的公式,即欧拉恒等式:e^(iπ) 1 = 0,这个完美的公式把数学中最重要的数字e、π、i、1、0都联系在一起了。

    转载于:https://my.oschina.net/shawnplaying/blog/853977

    展开全文
  • 科学计数法符号e 自然常数e

    千次阅读 2019-06-20 09:36:44
    在科学计数法中,为了使公式简便,可以用带“E”的格式表示。例如1.03乘10的8次方,可...自然常数,是数学中一个常数,是一个无限不循环小数,且为超越数,其值约为2.71828。 python中 exp() 方法返回x的指数 ...
  • 自然常数e在这躲着呢! 说好的复利呢?说好的 呢?说好的 呢? 本着计算机是高速计算的傻子原则,我启用了python 卧槽!!! 指数完美切换为幂,学渣的我无耻地再次百度了 NND!!!我仿佛已经勉强跟上了一个叫泰勒...
  • 参考文章:Python exp() 函数
  • (10 * p) // q p = 10 * p - q * d yield d def e_cf_expansion(): yield 1 k = 0 while True: yield k k += 2 yield 1 yield 1 def e_dec(): return z(e_cf_expansion()) gen = e_dec() e = [str(gen.next()) for i...
  • e是一个自然常数,数值约为2.71828,可以用于计算银行给的利息,公式为 e=(1+1/n)^n,将n无限扩大后e就会等于2.71828,是不是很神奇?还有一种公式也可以计算出e,那就是 e=1+1+1/2!+1/3!+1/4!……,感叹号是...
  • 安徽工程大学 Python 程序设计实验报告班级:物流 191 姓名:余嘉 学号:3190505116 成绩:日期:2020/4/6 指导老师:修宇实验名称:循环结构程序设计实验目的...计算底数 e 的值问题描述:e 有时被称为自然常数(Na...
  • 1.3 三大数学常数:自然常数e、圆周率π和虚数单位i。1.4 第一次把e看成常数的是雅各布•伯努利,他开始尝试计算lim(1+1/n) n 的值;1727年欧拉首次用小写字母“e”表示这常数。欧拉恒等式:真正的宇宙第一公式欧拉...
  • Python编程PTA题解——求e的近似值

    千次阅读 2020-03-21 14:53:36
    Description:自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。 Input:输入仅一行,输入非负整数 n(≤1000)。 Output:输出仅一行,输出部分和的...
  • 展开全部y等于e的x次方是2113一种指数函数,其图像是单调递增的。具5261体如下图拓展资4102料:指数函数是重要的基本初等...还可以等价的写为e^x,这里的e是数学常数,就是自然对数的底数,近似等于 2.718281828,...
  • python3有哪些内置模块python内置模块无法调用,pycharm环境,怎么办python内置模块无法调用...python的内置模块math在哪个文件里函数 说明 实例 math.e 自然常数e >>> math.e2.718281828459045 math.pi 圆...
  • Python数学模块在程序开发的时候,可能不仅仅需要加减乘除这样的简单运算,还需要乘方、...常用的math方法math.e自然常数emath.pi圆周率pimath.exp(x)返回e的x次方math.expm1(x) 返回e的x次方减1math.log(x[, base...
  • python模块

    2020-10-21 16:43:52
    2.e ----- 自然常数 方法: 1.三角函数 sin cos…… 2.对数 log lg …… 3. ceil ----- 向上取整 4. floor ----- 向下取整 5. fabs ----- 绝对值 6. sqrt ----- 开平方 7. pow ----- 幂次方 二、ra
  • Python数学相关

    2018-06-26 00:27:21
    Python数学相关 math模块 ...math.e # 自然常数e math.pi # 圆周率pi math.ceil(x)` # 对x向上取整 math.floor(x) # 对x向下取整 math.pow(x,y) # 指数运算,得到x的y次方 math.log(x) ...
  • python基础

    2020-10-20 21:51:39
    1 创建数组 (1)常量 ...e表示自然常数e = 2.718281828459045235360… (2)数组类型 常用 numpy 基本类型 bool_= bool8 8位 布尔类型 int8 = byte 8位 整型 int16 = short 16位 整型 int32 = i
  • python数字常量

    2019-09-23 22:25:36
    数学常量 pi 数学常量 pi(圆周率,一般以π来表示) e 数学常量 ee自然常数自然常数)。 转载于:https://www.cnblogs.com/wdzn/p/8610206.html...
  • Description:自然常数e可以用级数1+1/1!+1/2!+⋯+1/n!来近似计算。ei代表前i项求和。输入误差范围error,当 ei+1-ei<error,则表示e的近似值满足误差范围。 Input:输入仅一行,输入误差范围。 Output:输出仅一行...
  • scipy常数

    千次阅读 2017-04-30 17:52:05
    scipy是一个Python工具包,主要用于科学计算 包括统计,优化,整合,线性代数模块,...c表示光速,e表示自然常识,pi表示圆周率π\pi,h普朗克常数,mile一英里多少米,inch一英寸多少米,pound一英镑多少千克,hour一小时
  • 自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。 输入格式: 输入第一行中给出非负整数 n(≤1000)。 输出格式: 在一行中输出部分和的值,保留...
  • 展开全部多看一下python3.7的语法,math...都是这样才对的函数 说明 实例math.e 自然e69da5e887aa62616964757a686964616f31333366306462常数e >>> math.e2.718281828459045math.pi 圆周率pi >>> ...
  • 原标题:python中exp函数如何实现指数计算?之前小编向大家介绍过python中的对数函数log函数(https://www.py.cn/jishu/jichu/21780.html),对于有点复杂的计算,我们是可以...1、exp()exp,高等数学里以自然常数e...
  • 自然常数e可以用级数1+1/1!+1/2!+⋯+1/n!+⋯来近似计算。本题要求对给定的非负整数n,求该级数的前n+1项和。 输入格式: 输入第一行中给出非负整数n(≤1000)。 输出格式: 在一行中输出部分和的值,保留小数点后...
  • Python内置模块

    2020-10-21 00:29:29
    python的模块 模块(module): 在python中,xxx.py就是一个模块 常见的系统内置模块的使用 |-- math |-- random |-- uuid |-- os ...e # 自然常数 方法: 三角函数 sin cos #三角形正弦余弦 对数 log
  • 第4章-5 求e的近似值 (15分)python

    千次阅读 2020-02-18 16:02:56
    自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。 输入格式: 输入第一行中给出非负整数 n(≤1000)。 输出格式: 在一行中输出部分和的值,保留...
  • 自然常数e可以用级数1+1/1!+1/2!+⋯+1/n!来近似计算。ei代表前i项求和。输入误差范围error,当 ei+1-ei表示e的近似值满足误差范围。 输入格式: 在一行输入误差范围。 输出格式: 在一行输出e的近似值(保留6位小数)。...
  • 自然常数e可以用级数1+1/1!+1/2!+⋯+1/n!来近似计算。ei代表前i项求和。输入误差范围error,当 ei+1-ei<error,则表示e的近似值满足误差范围。 输入格式: 在一行输入误差范围。 输出格式: 在一行输出e的近似值...
  • 自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。 输入格式: 输入第一行中给出非负整数 n(≤1000)。 输出格式: 在一行中输出部分和的值,保留...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 124
精华内容 49
关键字:

python自然常数e

python 订阅