Вы, вероятно, имели в виду ds[i]
, а не ds(i)
. Квадратные скобки для индексации и круглые скобки для вызовов функций. Тем не менее, у кода есть другие проблемы, от неопределенного var
до использования массива NumPy (?) Для хранения объектов SymPy. В общем, желательно иметь в виду, что SymPy работает в основном с выражениями , а не с функциями . Выражения не «принимают аргументы», они не похожи на вызываемые функции в Python.
И все это не нужно, поскольку SymPy самостоятельно вычисляет n-ю производную. Пример, 5-я производная exp (2 * x) в 0:
x = sp.symbols('x')
f = sp.exp(2*x) # an expression, not a function
n = 5
a = 0
print(f.diff(x, n).subs(x, a)) # take derivative n times, then plug a for x
печатает 32. Или, если вы хотите расширение Тейлора вплоть до x**n
:
print(f.series(x, a, n + 1))
отпечатки 1 + 2*x + 2*x**2 + 4*x**3/3 + 2*x**4/3 + 4*x**5/15 + O(x**6)
.