Jör*_*olz 1 sympy derivative ode dsolve
在 Sympy 中 ODE 的定义(和解决方案)中是否有充分的理由使用Derivative而不是?似乎做得很好:diffdiff
diff是一个“包装”方法,它将实例化该类Derivative。所以,这样做:
from sympy import *
expr = x**2
expr.diff(x)
# out: 2*x
Run Code Online (Sandbox Code Playgroud)
相当于:
Derivative(expr, x).doit()
# out: 2*x
Run Code Online (Sandbox Code Playgroud)
然而,该类Derivative可能有助于延迟导数的评估。例如:
Derivative(expr, x)
# out: Derivative(x**2, x)
Run Code Online (Sandbox Code Playgroud)
但同样的事情也可以通过以下方式实现:
expr.diff(x, evaluate=False)
# out: Derivative(x**2, x)
Run Code Online (Sandbox Code Playgroud)
diff因此,为了回答您的问题,在您提供的示例中,使用vs绝对没有区别Derivative。
如果expr.diff(variable)可以计算,它将返回一个实例Expr(符号、数字、乘法、加法、幂运算,取决于expr)。否则,它将返回一个类型的对象Derivative。