1 回答

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
Python 的符號庫sympy
可以處理將字符串轉(zhuǎn)換為符號表達(dá)式并獲取導(dǎo)數(shù)。請注意,Python 使用**
for power
, while^
僅用于布爾異或。 convert_xor
負(fù)責(zé)將 轉(zhuǎn)換^
為電源。
下面是一些示例代碼,可幫助您開始和試驗(yàn)。
from sympy import sympify, Derivative
from sympy.parsing.sympy_parser import parse_expr, standard_transformations, convert_xor
def derivative(str_expr):
transformations = (standard_transformations + (convert_xor,))
expr = parse_expr(str_expr, transformations=transformations)
return str(Derivative(expr).doit())
print(derivative("3*x^2 + 4*x - 22"))
print(derivative("sin(x/cos(x))"))
print(derivative("exp(asin(x^2)/sqrt(x))"))
print(derivative("LambertW(x)"))
print(derivative("erf(x)"))
輸出:
6*x + 4
(x*sin(x)/cos(x)**2 + 1/cos(x))*cos(x/cos(x))
(2*sqrt(x)/sqrt(1 - x**4) - asin(x**2)/(2*x**(3/2)))*exp(asin(x**2)/sqrt(x))
LambertW(x)/(x*(LambertW(x) + 1))
2*exp(-x**2)/sqrt(pi)
添加回答
舉報(bào)