我正在尝试使用sympy对时间索引变量进行符号计算(主要是衍生物)。 使用索引符号如下面的r [t]会产生错误:
from sympy import *
t = Idx('t',10)
r = IndexedBase('r')
diff(r[t],r[t])
diff(r,r)
ValueError:
Can't differentiate wrt the variable: r[t], 1
原因可能是这里出了问题:
In [15]: r[t].indices
Out[15]: (t,)
索引t之后的逗号看起来很可疑,但我不知道出了什么问题。
有人知道如何在同情中这样做吗?
答案 0 :(得分:3)
您可以区分符号,函数和派生词。这会有效吗?
>>> t = Idx('t',10)
>>> r=Function('r')
>>> r(t).diff(r(t))
1
>>> var('t')
t
>>> r(t).diff(t)
Derivative(r(t), t)