10行代码,带你理解自然底数e、自然指数ln
引言
我们知道,e是一种常数,和π\piπ类似,都是一种被计算出来的常数,在实际中具有非常广泛的应用。
基于自然底数e,我们常常会用到自然指数exe^xex,自然对数ln(x)ln(x)ln(x),但你知道e是怎么来的吗?
自然底数e
(图片来源于1)
一种直观的理解方式是:π\piπ是周长和直径之比,e是连续增长过程的增长单位。
每当系统呈指数和持续增长时,就可以用自然底数e来近似,比如人口增长、放射性衰变、利息计算2等等。
e的数学计算公式(一):
e=limn→∞(1+1n)1∗ne = \lim_{n→∞}{(1+\frac{1}{n})^{1*n}} e=n→∞lim(1+n1)1∗n
e可以用来表达一种持续增长的完美复利情况。1
假如有一个投资的收益率为100%,结算时间为1/n个单位时间,即每1/n个时间单位就按照(1+1n)(1+\frac{1}{n})(1+n1)进行增长,那么在结算时间最短的情况下,最大收益水平近似为e=2.7182818……。
ps.实际银行存款是按年结算,而非持续增长,以收益率3%为例,1年后的本金加利息为(1+r)*1 = 1.03。
用python的sympy科学计算库,可以实现函数求极限,我们来计算一下公式(一):
import numpy as np
import sympy
from sympy import oo #表示无穷大n=sympy.Symbol('n')
y=(1+1/n)**n
result = sympy.limit(y,n,oo)
print("%.10f"%result)
输出的值就是e,打印:2.7182818285(小数点后10位)
e的数学计算公式(二):
e=∑n=1∞1n!=1+11!+12!+13!+...e = \sum_{n=1}^∞\frac{1}{n!} =1+\frac{1}{1!}+\frac{1}{2!}+\frac{1}{3!}+... e=n=1∑∞n!1=1+1!1+2!1+3!1+...
这个公式可以看作初始本金1,加上每一份利息及利息继续投入的资金增长量(假设是连续复利)1。
单位时间x之后,增加利息∫1dx=x\int{1}dx = x∫1dx=x。
利息xxx又挣了∫xdx=12x2\int{x}dx = \frac{1}{2}x^2∫xdx=21x2。
利息12x2\frac{1}{2}x^221x2挣了13!x3\frac{1}{3!}x^33!1x3的利息,依此类推。
用python的sympy科学计算库对公式(二)进行计算,代码如下:
import sympy
from sympy import oon=sympy.Symbol('n')
result = sympy.summation(1/sympy.factorial(n),(n,0,oo))
sympy.factorial(n)表示阶乘,sympy.summation为求和表达式。
输出值,依旧是:2.7182818285……
因此,e可以非常方便地表达持续复合增长水平。
自然指数exp(x)
自然指数exe^xex,常常被写作exp(x),具有很多神奇的性质。
比如自然指数的导数等于自然指数本身:
d(ex)dx=ex\frac{d(e^x)}{dx} = e^x dxd(ex)=ex
自然指数exp(x)可以用来反映:在持续增长单位时间x之后的增长水平。
ex=erate∗timee^x = e^{rate * time} ex=erate∗time
比如连续增长率为5%,那么3个时间单位之后的增长水平为:e0.05∗3≈1.1618e^{0.05*3} ≈ 1.1618e0.05∗3≈1.1618,即3个时间单位后增长为原来的1.16倍。
自然对数ln(x)
自然对数ln(x)可以用来反映:达到一定增长水平所需的时间。3
ln(1)=0ln(1)=0ln(1)=0,从1增长到1,很显然所需的时间为0。
ln(10)=2.302585092994046ln(10)=2.302585092994046ln(10)=2.302585092994046,如果持续复合增长率为100%,则所需时间单位为2.3。
对数的乘法又可以分解为两个因子的加法。比如ln(10)=ln(2∗5)=ln(2)+ln(5)ln(10)=ln(2*5)=ln(2)+ln(5)ln(10)=ln(2∗5)=ln(2)+ln(5)。
如果想要达到10倍的增长,持续复合增长率为100%,可以直接用2.3个时间单位(ln(10)≈2.3ln(10)≈2.3ln(10)≈2.3),也可以分为2步:先增长0.69个时间单位(ln(2)≈0.69ln(2)≈0.69ln(2)≈0.69)达到2倍,然后再持续增长1.61个时间单位(ln(5)≈1.61ln(5)≈1.61ln(5)≈1.61)增长5倍。
import mathmath.log(np.e)
#[out]:1.0math.log(10)
#[out]:2.302585092994046
math.log默认底数为e,如果求其他底的对数,可以用math.log(x,base)进行求解4。
小结
自然指数exp(x)可以反映:在单位时间x之后的持续增长水平。
自然对数ln(x)可以反映:达到一定增长水平所需的时间。
下一篇,将对比自然指数跟实际投资收益之间的区别,敬请关注。
https://betterexplained.com/articles/definitions-of-e-colorized/ ↩︎ ↩︎ ↩︎
https://betterexplained.com/articles/an-intuitive-guide-to-exponential-functions-e/ ↩︎
https://betterexplained.com/articles/demystifying-the-natural-logarithm-ln/ ↩︎
https://www.runoob.com/python/func-number-log.html ↩︎
10行代码,带你理解自然底数e、自然指数ln相关推荐
- 10行代码带你搞定目标检测(附代码)
来源:大数据文摘 本文约2700字,建议阅读5分钟. 本文介绍采用代码搞定目标检测的技术. 计算机视觉是人工智能的一个重要领域,是关于计算机和软件系统的科学,可以对图像和场景进行识别.理解.计算机视觉 ...
- python split函数 空格_python上手--10行代码读懂红楼梦
取名10行代码看懂红楼梦,是将介绍使用python代码来读红楼梦获取其主要人物.这里的思想就是词频统计,通过分析红楼梦小说文字中出现最多的词语,来概括说明红楼梦的核心人物和事情.实际上如果你能跟着往下 ...
- 10 行代码玩转 NumPy!
作者 | 天元浪子 来源 | Python作业辅导员 NumPy也可以画图吗?当然!NumPy不仅可以画,还可以画得更好.画得更快!比如下面这幅画,只需要10行代码就可以画出来.若能整明白这10行代码 ...
- 10行代码制作群聊提醒小助手,再也不怕漏掉消息了
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 胸中有誓深于海,肯使神州竟陆沉? ...
- 10行代码实现目标检测,请收下这份教程
翻译 | 林椿眄 编辑 | 阿司匹林 出品 | AI科技大本营(公众号ID:rgznai100) 作为人工智能的一个重要领域,计算机视觉是一门可以识别并理解图像和场景的计算机及软件系统科学.该领 ...
- 实战:使用 Python 用不到 10 行代码计算汽车数量
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在这篇文章中,将教你如何使用 Python 用 10 行代码构建自 ...
- 10行代码实现目标检测
2019独角兽企业重金招聘Python工程师标准>>> 作为人工智能的一个重要领域,计算机视觉是一门可以识别并理解图像和场景的计算机及软件系统科学.该领域主要包括图像识别,目标检测, ...
- 爬虫python代码-Python爬虫入门(01) -- 10行代码实现一个爬虫
跟我学习Python爬虫系列开始啦.带你简单快速高效学习Python爬虫. 一.快速体验一个简单爬虫 以抓取简书首页文章标题和链接为例 简书首页 就是以上红色框内文章的标签,和这个标题对应的url链接 ...
- Java学习的快速入门:10行代码学JQuery
生活在快速发展时代的我们,如果不提速可能稍不留神就被时代淘汰了.快节奏的时代成就了快餐,亦成就了速成教育.尤其是身处互联网行业的我们,更新换代的速度更是迅速,快速掌握一门技术已经成为潮流趋势.怎样才能 ...
- 10行代码让你轻松搞定对象检测
摘要: 十行代码轻松搞定对象检测?快来看看如何使用ImageAI. 计算机视觉是人工智能领域中最重要的一个分支.计算机视觉是一门能够识别和理解图像及其场景的计算机软件系统的科学.计算机视觉包括图像识 ...
最新文章
- 在MAC上搭建eclipse+android开发环境以及eclipse的svn插件的安装
- docker 删除所有镜像_关于 Docker 镜像的操作,看完这篇就够啦 !(下)| 文末福利...
- 知识星球如何升级为正式星球 知识星球怎么创建星球
- python gRPC测试helloworld
- mysql数据库导出导入设置编码
- 3.11-3.14 Hive 企业使用优化2
- Intellij IDEA 使用Debug模式运行非常慢
- MySQL数据库基础
- java在线学习系统、基于javaweb的线上智能教育、ssm实现web版本学生在线学习考试、题库管理系统
- 什么是储蓄池抽样(Reservoir Sampling)算法?
- 鸿蒙是ui还是系统,鸿蒙系统UI图标设计抄袭ios?对比一下就知道了
- 几款好用证件照制作工具推荐
- 岁月不居春秋代序 计算机学院,应用生物学院2019届 “岁月不居,春秋代序”毕业典礼隆重举行...
- mysql drop temporary_mysql存储过程----临时表 temporary
- Ubuntu -- 分卷压缩与分卷解压
- 开机出现start pxe over ipv4或者start pxe over ipv6
- 领跑“数字化” | MTC两大产品荣获“中国轻工业数字化杰出解决方案”
- linux cron 进程查询,Linux下通过配置Crontab实现进程守护
- Linux 创建用户(添加ssh用户方式一样)
- 选择Citrix XenServer的五个理由