Поэтому мне нужно сначала взять некоторые производные, а затем в коде (когда задана явная форма f(x)
) заменить Derivative(f(x), x)
явной формой производной.
import sympy as sp
import math
x = sp.symbols('x')
f = sp.Function('f')('x')
df = f.diff(x)
f = sp.sin(x)
print(df)
В качестве результата я ожидаю увидеть cos(x)
, а не Derivative(f(x), x)
, который он мне все равно дает. Я попробовал сабы и сделал это, но безуспешно. Каким будет правильный способ получить то, что мне нужно?
Подставьте известную функцию в производную и выполните метод doit
:
import sympy as sp
import math
x = sp.symbols('x')
f = sp.Function('f')('x')
df = f.diff(x)
f_known = sp.sin(x)
df.subs(f, f_known).doit()
Выражения Sympy неизменяемы, поэтому ни одна функция не изменит их на месте (1).
Вот почему сначала нужно заменить символы методом subs
, а затем вычислить невычисленную производную с помощью метода doit
.
(1) https://docs.sympy.org/latest/tutorials/intro-tutorial/basic_operations.html