Итак, я пишу сценарий, оценивающий серию Тейлор. Однако я хочу, чтобы он оценивался для всех типов функций. Я попробовал, например, использовать функцию acot(x)
.
x = sy.Symbol('x')
f = acot(x)
...
func = taylor(f,0,3)
taylor_lambda = sy.lambdify(x, func, 'numpy')
Вышеупомянутое выполняется без исключения (кроме случаев, когда я, например, использую acsch
, и он не запускается).
Но затем, когда он достигает этой строки:
plt.plot(x1,taylor_lambda(x1),label='taylor approximation')
Я получил:
NameError: name 'acot' is not defined
Я попытался заменить numpy
на sympy
в вызове lambdify, но это, похоже, оценивается символически. Это происходит с некоторыми (более редкими функциями), но не с другими. Спасибо!
Мой импорт следующий:
import sympy as sy
import numpy as np
from sympy.functions import *
from sympy import pi, E,acot
import matplotlib.pyplot as plt
import math