10行代码,带你理解自然底数e、自然指数ln

引言

我们知道,e是一种常数,和 π \pi π类似,都是一种被计算出来的常数,在实际中具有非常广泛的应用。

基于自然底数e,我们常常会用到自然指数 e x e^x ex,自然对数 l n ( x ) ln(x) ln(x),但你知道e是怎么来的吗?

自然底数e

在这里插入图片描述
(图片来源于1

一种直观的理解方式是: π \pi π是周长和直径之比,e是连续增长过程的增长单位。

每当系统呈指数和持续增长时,就可以用自然底数e来近似,比如人口增长、放射性衰变、利息计算2等等。

e的数学计算公式(一):

e = lim ⁡ n → ∞ ( 1 + 1 n ) 1 ∗ n e = \lim_{n→∞}{(1+\frac{1}{n})^{1*n}} e=nlim(1+n1)1n

e可以用来表达一种持续增长的完美复利情况。1

假如有一个投资的收益率为100%,结算时间为1/n个单位时间,即每1/n个时间单位就按照 ( 1 + 1 n ) (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 ∞ 1 n ! = 1 + 1 1 ! + 1 2 ! + 1 3 ! + . . . e = \sum_{n=1}^∞\frac{1}{n!} =1+\frac{1}{1!}+\frac{1}{2!}+\frac{1}{3!}+... e=n=1n!1=1+1!1+2!1+3!1+...

这个公式可以看作初始本金1,加上每一份利息及利息继续投入的资金增长量(假设是连续复利)1

单位时间x之后,增加利息 ∫ 1 d x = x \int{1}dx = x 1dx=x

利息 x x x又挣了 ∫ x d x = 1 2 x 2 \int{x}dx = \frac{1}{2}x^2 xdx=21x2

利息 1 2 x 2 \frac{1}{2}x^2 21x2挣了 1 3 ! x 3 \frac{1}{3!}x^3 3!1x3的利息,依此类推。

用python的sympy科学计算库对公式(二)进行计算,代码如下:

import sympy
from sympy import oo

n=sympy.Symbol('n')
result = sympy.summation(1/sympy.factorial(n),(n,0,oo))

sympy.factorial(n)表示阶乘,sympy.summation为求和表达式。
输出值,依旧是:2.7182818285……

因此,e可以非常方便地表达持续复合增长水平。

自然指数exp(x)

自然指数 e x e^x ex,常常被写作exp(x),具有很多神奇的性质。

比如自然指数的导数等于自然指数本身:
d ( e x ) d x = e x \frac{d(e^x)}{dx} = e^x dxd(ex)=ex
自然指数exp(x)可以用来反映:在持续增长单位时间x之后的增长水平。
e x = e r a t e ∗ t i m e e^x = e^{rate * time} ex=eratetime
比如连续增长率为5%,那么3个时间单位之后的增长水平为: e 0.05 ∗ 3 ≈ 1.1618 e^{0.05*3} ≈ 1.1618 e0.0531.1618,即3个时间单位后增长为原来的1.16倍。

自然对数ln(x)

自然对数ln(x)可以用来反映:达到一定增长水平所需的时间。3

在这里插入图片描述
l n ( 1 ) = 0 ln(1)=0 ln(1)=0,从1增长到1,很显然所需的时间为0。

l n ( 10 ) = 2.302585092994046 ln(10)=2.302585092994046 ln(10)=2.302585092994046,如果持续复合增长率为100%,则所需时间单位为2.3。

对数的乘法又可以分解为两个因子的加法。比如 l n ( 10 ) = l n ( 2 ∗ 5 ) = l n ( 2 ) + l n ( 5 ) ln(10)=ln(2*5)=ln(2)+ln(5) ln(10)=ln(25)=ln(2)+ln(5)

如果想要达到10倍的增长,持续复合增长率为100%,可以直接用2.3个时间单位( l n ( 10 ) ≈ 2.3 ln(10)≈2.3 ln(10)2.3),也可以分为2步:先增长0.69个时间单位( l n ( 2 ) ≈ 0.69 ln(2)≈0.69 ln(2)0.69)达到2倍,然后再持续增长1.61个时间单位( l n ( 5 ) ≈ 1.61 ln(5)≈1.61 ln(5)1.61)增长5倍。

import math

math.log(np.e)
#[out]:1.0

math.log(10)
#[out]:2.302585092994046

math.log默认底数为e,如果求其他底的对数,可以用math.log(x,base)进行求解4

小结

自然指数exp(x)可以反映:在单位时间x之后的持续增长水平。

自然对数ln(x)可以反映:达到一定增长水平所需的时间。

下一篇,将对比自然指数跟实际投资收益之间的区别,敬请关注。


  1. https://betterexplained.com/articles/definitions-of-e-colorized/ ↩︎ ↩︎ ↩︎

  2. https://betterexplained.com/articles/an-intuitive-guide-to-exponential-functions-e/ ↩︎

  3. https://betterexplained.com/articles/demystifying-the-natural-logarithm-ln/ ↩︎

  4. https://www.runoob.com/python/func-number-log.html ↩︎

  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 25
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值