我正在尝试在 python 中进行一些计算,现在需要找到 a 函数的导数,我之前已经导出了它,现在称为导数(x(t),t):
t = sp.symbols('t')
x = sp.symbols('x')
B = sp.symbols('B')
C = sp.symbols('C')
x = sp.Function('x')(t)
Lx = B * sp.diff(x,t) * C
因为 x 的导数被 SymPy 称为
Derivative(x(t),t)
,所以函数 Lx 等于 B*Derivative(x(t),t)*C
,并且我们函数的导数必须如下调用:
ELx = sp.diff(Lx,Derivative(x(t),t))
但我总是收到错误消息:
NameError: name 'Derivative' is not defined
我该怎么办。
我的意思是我可以使用 antoher varibale 定义 Derived 函数,但逻辑和更清晰的方式如下所示。
您在没有定义的情况下调用 Derivative() 。根据 sympy 的文档,计算导数的正确方法是
sp.diff()
。
以下代码应该可以实现您想要实现的目标:
import sympy as sp
t = sp.symbols('t')
x = sp.Function('x')(t)
B = sp.symbols('B')
C = sp.symbols('C')
Lx = B * sp.diff(x,t) * C
# Take the derivative of Lx with respect to x(t)
ELx = sp.diff(Lx, x)
参考资料: https://docs.sympy.org/latest/tutorials/intro-tutorial/calculus.html