Python数学小实验(1)——自然对数e的理解

Python数学小实验(1)——自然对数e的理解

先来输出一下自然对数e:

>>>from math import e
>>>print (e)
2.718281828459045

一个神奇的数字

import numpy as np
import matplotlib.pyplot as plt

x = np.logspace(0,4,num=100,dtype=float)
y = (1+1/x)**x
plt.plot(x,y)
plt.show()

Python数学小实验(1)——自然对数e的理解_第1张图片

复利极限的理解

>>>k_1=1*(1+1)   #假设我有1块,年利率是100%,一年定期后,我有
>>>k_2=1*(1+1/2)**2   #存两个半年
>>>k_365=1*(1+1/365)**365   #存365天
>>>print(k_1)
2
>>print(k_2)
2.25
>>print(k_365)
2.7145674820219727

理解e是复利增长的极限,有1块钱,复利100%,不管分成多少次,本利和都不会超过e≈2.718

从泰勒展开式来看

泰勒展开式: f ( x ) = f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) + 1 2 f ′ ′ ( x 0 ) ( x − x 0 ) 2 + . . . + f ( n ) ( x − x 0 ) n n ! + R n ( x ) f(x)=f(x_0)+f'(x_0)(x-x_0)+\frac{1}{2}f''(x_0)(x-x_0)^2+...+\frac{f^{(n)}(x-x_0)^n}{n!}+R_n(x) f(x)=f(x0)+f(x0)(xx0)+21f(x0)(xx0)2+...+n!f(n)(xx0)n+Rn(x)
其中n阶泰勒余项 R n ( x ) = f ( n + 1 ) ( ξ ) ( n + 1 ) ! ( x − x 0 ) n + 1 R_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}(x-x_0)^{n+1} Rn(x)=(n+1)!f(n+1)(ξ)(xx0)n+1

f ( x ) = e x , x = 1 , x 0 = 0 f(x)=e^x,x=1,x_0=0 f(x)=ex,x=1,x0=0可得:
e = 1 + 1 1 ! + 1 2 ! + . . . + 1 n ! + R ( n ) e=1+\frac{1}{1!}+\frac{1}{2!}+...+\frac{1}{n!}+R(n) e=1+1!1+2!1+...+n!1+R(n)

def factorial(n):
    result = 1
    for i in range(1,n+1):
        result *= i
    return 1/result

ee=1
for i in range(1,10):
    ee += factorial(i)
print(ee)

计算到第10项,可得e=2.7182815255731922,已经非常吻合。

可进一步了解:
https://en.wikipedia.org/wiki/E_(mathematical_constant)

你可能感兴趣的:(Python数学小实验)