区分方程

bla*_*laz 5 python sympy

我想区分以下等式

from sympy import *
init_printing()

x, t, r, phi = symbols('x, t, r, phi')

# this is how I want to do it
eq = Eq(x(t), r*phi(t))
eq.diff(t)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

结果仅在左侧区分.我希望双方都能对它进行评估.这有可能以一种简单的方式吗?

目前我做以下事情:

Eq(eq.lhs.diff(t), eq.rhs.diff(t))
Run Code Online (Sandbox Code Playgroud)

Ran*_*ndy 1

借用 Sympy 的一些逻辑:手动处理等式,您可以执行以下操作:

eq.func(*map(lambda x: diff(x, t), eq.args))
Run Code Online (Sandbox Code Playgroud)

有点难看,但它有效。或者,.do()如果您想多次执行此操作,则可以直接使用该方法并使用它。