在sympy中对索引符号求导
我正在尝试使用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后面的逗号看起来有点可疑,但我不知道具体哪里出错了。
有没有人知道在sympy中该怎么做?
1 个回答
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)