编程语言
首页 > 编程语言> > python-sympy中索引符号的派生

python-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中做到这一点吗?

解决方法:

您可以区分wrt符号,函数和派生词.这项工作会:

>>> t = Idx('t',10)
>>> r=Function('r')
>>> r(t).diff(r(t))
1
>>> var('t')
t
>>> r(t).diff(t)
Derivative(r(t), t)

标签:sympy,python
来源: https://codeday.me/bug/20191121/2049481.html