python - 我想在 python 中使用 matplotlib 绘制泰勒级数图

标签 python numpy matplotlib sympy taylor-series

import matplotlib.pyplot as plt
import sympy as sy
import numpy as np

x=sy.Symbol('x')

plt.title("Comparison of EXP(x), PP1, PP2")
plt.xlim(0-0.1, 3+0.2)
plt.ylim(0, 20+1)
plt.xlabel("x") 
plt.ylabel("y: values")
plt.grid(False)


x=np.linspace(0.0, 3.0, 100)
plt.plot(x, np.exp(x), label="exp(x)")
plt.plot(x, np.exp(x).series(x, 0, 4), label="PP1")
plt.legend(loc=2)
plt.show();

我使用 Jupyter Notebook。 我想绘制 exp(x) 的泰勒级数图。 我刚刚成功绘制了 exp(x) 的图表,但失败了 exp(x) 的泰勒系列。 Sympy 库有泰勒级数功能,所以我尝试了它,但我不明白问题是什么。 下面是错误消息和图表。

Error Message

最佳答案

sy.exp(x).series(x) 创建一个 sympy 表达式,而不是函数

您可能想将其转换为函数

from sympy.utilities.lambdify import lambdify

x = sy.Symbol('x')
exp_expr = sy.exp(x).series(x).removeO()
exp_func = lambdify(x, exp_expr)

并绘制出来

x_points = np.linspace(0.0, 3.0, 100)
plt.plot(x_points, [exp_func(i) for i in x_points])

关于python - 我想在 python 中使用 matplotlib 绘制泰勒级数图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52849350/

相关文章:

python - Matplotlib 的 'annotate' 无法在 PDF 中正确定位文本?

python - 南方跳过 splinter 的迁徙

python - 如何将 numpy 数组从 'float64' 转换为 'float'

python - 通过 pandas 重新格式化我的 csv 文件(将一组值转换为列,将另一组值与相应的值匹配)

matplotlib - 使用 Julia Plots 访问后端特定功能

python - 无法在 Mac OS X 10.6 上的 Python 中的 Matplotlib 中将字体更改为 Helvetica

python - plotly 指标数字舍入

python - Matplotlib中使用LineCollection时是否可以设置透明度?

python - 为什么在 Enum 中找不到以下属性?

pandas - 为每个 CohortGroup 分配适当的 CohortPeriod 计数