在sympy中对索引符号求导

3 投票
1 回答
1158 浏览
提问于 2025-04-28 18:32

我正在尝试使用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)

撰写回答