Я хочу, чтобы график ряда Тейлора в Python использовать Matplot - PullRequest
0 голосов
/ 17 октября 2018
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.Я хочу построить график ряда Тейлора exp (x).У меня просто успех в графике exp (x), но не удалось Тейлор Сирс из exp (x)В библиотеке Sympy есть функция серии Тейлора, поэтому я попробовал ее, но не понимаю, в чем проблема.ниже приведено сообщение об ошибке и график.

Error Message

1 Ответ

0 голосов
/ 17 октября 2018

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])
...