我想用 matplot 在 python 中绘制泰勒级数
I want to graph taylor series in python use matplot
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) 的 taylor seires 失败了。
Sympy 库具有泰勒级数功能,所以我试过了,但我不明白问题出在哪里。
下面是错误消息和图表。
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])
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) 的 taylor seires 失败了。 Sympy 库具有泰勒级数功能,所以我试过了,但我不明白问题出在哪里。 下面是错误消息和图表。
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])