大数据分析 - 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()——矩阵点乘运算