Я искал в Интернете и через этот веб-сайт, но похожие сообщения, которые создают функцию, которая оценивает производную функции в x, не являются функциями пользовательского ввода. Например, у них будет f=2*x**2
, и я хочу создать функцию, которая будет работать практически для любой функции, содержащей операторы алгебры c, выражения триггера и журнала и т. Д. c. Я создал функцию, которая оценивает функцию пользовательского ввода в x, используя импорт numpy / math и eval (), но я не могу полностью воспроизвести это для производной функции пользовательского ввода.
from sympy import sympify, Symbol
import numpy
import math
x = Symbol('x')
y=sympify(input('Type your function:'))
yprime = y.diff(x)
Я обнаружил это из сообщения в Интернете, и он точно вычисляет производную функции пользовательского ввода, но я не мог понять, как добавить функцию, которая оценивает yprime при некотором значении x. Когда я попытался добавить
def fprime(x):
return eval(yprime, {'x': x, 'np': numpy, 'math': math})
, я получил сообщение об ошибке, что yprime не является строкой, а это не так.
TypeError: eval() arg 1 must be a string, bytes or code object
Я был бы признателен за любую помощь, которую могу получить, и обратите внимание, что я новичок с python.