python实现画出e指数函数的图像
这里用Python逼近函数y=exp(x);同样使用泰勒函数去逼近:
exp(x)=1+x+(x)^2/(2!)+..+(x)^n/(n!)+...
#!/usr/bin/python
#-*-coding:utf-8-*-
importnumpyasnp
importmath
importmatplotlibasmpl
importmatplotlib.pyplotasplt
defcalc_e_small(x):
n=10
f=np.arange(1,n+1).cumprod()
b=np.array([x]*n).cumprod()
returnnp.sum(b/f)+1
defcalc_e(x):
reverse=False
ifx<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)
ifreverse:
return1/y
returny
if__name__=="__main__":
t1=np.linspace(-2,0,10,endpoint=False)
t2=np.linspace(0,3,20)
t=np.concatenate((t1,t2))
print(t)#横轴数据
y=np.empty_like(t)
fori,xinenumerate(t):
y[i]=calc_e(x)
print('e^',x,'=',y[i],'(近似值)\t',math.exp(x),'(真实值)')
#print'误差:',y[i]-math.exp(x)
plt.figure(facecolor='w')
mpl.rcParams['font.sans-serif']=[u'SimHei']
mpl.rcParams['axes.unicode_minus']=False
plt.plot(t,y,'r-',t,y,'go',linewidth=2)
plt.title(u'Taylor展式的应用-指数函数',fontsize=18)
plt.xlabel('X',fontsize=15)
plt.ylabel('exp(X)',fontsize=15)
plt.grid(True)
plt.show()
以上这篇python实现画出e指数函数的图像就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。