大数据分析 - Taylor展开式的应用 - 指数函数 Exp(x)
实验题目:
用Taylor展开式的方式打印出 e^x 的图像
实验代码:
import numpy as np
import math
import matplotlib as mpl
import matplotlib.pyplot as plt
def calc_e_small(x):
n=10
f=np.arange(1,n+1).cumprod()
b=np.array([x]*n).cumprod()
return np.sum(b/f)+1
def calc_e(x):
reverse = False
if x<0:
x=-x
reverse = True
ln2 = 0.69314718055994530941723212145818
c=x/ln2
a=int(c+0.5)
b=x-a*ln2
y=(2**a)*calc_e_small(b)
if reverse:
return 1/y
return y
if __name__ == "__main__":
np.set_printoptions(suppress=False)
t1 = np.linspace(-2,0,10,endpoint = False)
t2 = np.linspace(0,4,20)
t = np.concatenate((t1,t2))
print(t)
y=np.empty_like(t)
for i,x in enumerate(t):
y[i]=calc_e(x)
print(e^,x, = ,y[i],(近似值) ,math.exp(x),(真实值))
plt.figure(facecolor=w)
mpl.rcParams[font.sans-serif] = [SimHei]
mpl.rcParams[axes.unicode_minus] = False
plt.plot(t,y,r-,t,y,go,linewidth=2)
plt.title(Taylor展开式的应用 - 指数函数,fontsize=18)
plt.xlabel(X,fontsize=15)
plt.ylabel(exp(x),fontsize=15)
plt.grid(True,ls=:)
plt.show()
实验截图
上一篇:
JS实现多线程数据分片下载
下一篇:
torch.mul()——矩阵点乘运算
