当我使用最新版本的SymPy运行此代码时,我遇到了一个错误:
In [4]: f
Out[4]: sin(6â
Ïââ
t)
In [5]: t1 = solve(wb*t-pi, t)
In [6]: t1
Out[6]:
â¡ Ï â¤
â¢âââââ¥
â£6â
Ïââ¦
In [7]: f1 = f.subs({t:t1})
...
SympifyError: [pi/(6*omega_0)]
那是因为
t1
是一个列表。请注意,返回列表是因为通常要求解的方程可以有多个解。你应该替换
t
对于
列表中的项目
您可以将其称为
t1[0]
:
In [8]: f1 = f.subs({t:t1[0]})
In [9]: f1
Out[9]: 0
或者,我建议使用
solve
与
dict=True
参数,使其始终返回dict列表。每个dict都可以直接与一起使用
subs
:
In [10]: t1 = solve(wb*t-pi, t, dict=True)
In [11]: t1
Out[11]:
â¡â§ Ï â«â¤
â¢â¨t: âââââ¬â¥
â£â© 6â
Ïâââ¦
In [12]: f.subs(t1[0])
Out[12]: 0