首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >泰勒级数展开

泰勒级数展开

作者头像
裴来凡
发布2022-05-29 10:13:46
发布2022-05-29 10:13:46
1.6K0
举报
代码语言:javascript
复制
import sympy
import numpy as np
import matplotlib.pyplot as plt#数据可视化工具
#用来正常显示中文标签
plt.rcParams['font.sans-serif']=['SimHei']
#将x当作函数自变量
x=sympy.Symbol('x')
#exp为原函数公式
exp=np.e**x
#泰勒级数展开,对前N项进行求和
sums=0
N=30
for i in range(N):
    #求i次导函数
    numerator=exp.diff(x,i)
    #计算导函数在x=0处的值
    numerator=numerator.evalf(subs={x:0})
    denominator=np.math.factorial(i)
    sums+=numerator/denominator*x**i
    #检验原函数与其在x=0处展开的泰勒级数前20项之和的差距
print(exp.evalf(subs={x:0})-sums.evalf(subs={x:0}))
xvals=np.linspace(0,30,100)
exp_points=np.array([])
sum_points=np.array([])
for xval in xvals:
    #原函数数据点
    exp_points=np.append(exp_points,exp.evalf(subs={x:xval}))
    #泰勒展开式数据点
    sum_points=np.append(sum_points,sums.evalf(subs={x:xval}))
    #可视化结果
plt.plot(xvals,exp_points,'bo',label='原函数')
plt.plot(xvals,sum_points,'ro',label='泰勒展开式')
plt.legend()
plt.show()

算法:泰勒级数展开是多项式曲线来近似表示复杂曲线,应用在梯度下降、牛顿法、共轭梯度法等领域。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 图像处理与模式识别研究所 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档