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)的Taylor系列。
我只是成功地绘制了exp(x)图,但没有使exp(x)的taylor seires失败。
Sympy库具有taylor系列功能,因此我尝试了一下,但是我不明白这是什么问题。
下面是错误消息和图表。

python - 我想在python中使用Matplot绘制Taylor系列图-LMLPHP

最佳答案

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中使用Matplot绘制Taylor系列图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52849350/

10-11 07:39